资讯专栏INFORMATION COLUMN

文件上传

roland_reed / 966人阅读

摘要:示例一页面上传附件文件对象代表附件通过对象传输到后台用于插入数据的不要去处理发送的数据不要去设置请求头是返回的之类的值,是定义的文件名查询上传失败后台接收多文件下面新增自定义方法多个附件上传换成也是唯一,好找图片示例二图片上传单张

[TOC]

示例一: 【1】页面js:
/*
上传附件
docObj:文件对象
appid:cid
apptypeid:1、blog 2、
busitype:100——代表附件
*/
function uploadAttachment(docObj){
    var appid = $("#appid").val();
    var files =docObj.files;
    var formData = new FormData();//通过对象传输到后台
    formData.append("appid",appid);//用于sysfile插入数据的appid
    for (var i = files.length - 1; i >= 0; i--) {
        formData.append("files[]",files[i]);
    }
    $.ajax({
        data : formData,
        type : "POST",
        url : "/common/xxx/upload",
        cache : false,
        processData: false,                // jQuery不要去处理发送的数据
        contentType: false,                // jQuery不要去设置Content-Type请求头
        dataType: "JSON",
        success: function(data) {//data是返回的hash,key之类的值,key是定义的文件名
            //查询
            $("#attachment").bootstrapTable("refresh");
            attachment(appid);
        },
        error:function(){
            toastr.error("上传失败");
        }
    });
}
【2】spring mvc后台接收多文件:
//下面新增自定义方法
@ResponseBody
@PostMapping("/upload")
R upload(@RequestParam("files[]") MultipartFile[] files,@RequestParam("appid") String appid) throws IOException, Exception {
    //多个附件上传
    for (int i = 0; i < files.length; i++) {
        System.out.println(i);
        String fname = files[i].getOriginalFilename();
//                String fileName = FileUtil.renameToUUID(fname);//换成uuid——也是唯一,好找图片
        String uuid = UUID.randomUUID().toString().replace("-", "");
        String fileType = fname.substring(fname.lastIndexOf(".") + 1, fname.length()).toLowerCase();
        String fileName = uuid+"."+fileType;//cf6ec8ccb62e451e8d5f27dab6bfeb3f.png
        FileUtil.uploadFile(files[i].getBytes(),tuodataConfig.getUploadPublicPath()+"blog/", fileName);
        FileDO fileDo= insertFile(appid,uuid,0,fname,fileName,fileType);
    }
    return R.ok();
}
示例二:

layui图片上传

【1】单张
html:

    
    

    
js: 新增的js脚本: 编辑的js脚本: 后台代码: /** * 轮播图保存 */ @Before(value = { JMSystemApiInterceptor.class }) public void rotationChartSave() { String image = JMUploadKit.fileUpload(this, "file", "rotationChart"); Configure rotationChart = new Configure(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); rotationChart.setValue2(sdf.format(new Date())); boolean result = false; if (image != null) { rotationChart.setName("rotationChart"); rotationChart.setValue(image); result = configureDao.save(rotationChart); } if (result) { // 给type跟desc赋值 Configure rotationChart1 = configureDao.get(false); rotationChart.setType(rotationChart1.getType() + 1);// 获取最后一个type rotationChart.setDesc("轮播图-" + (rotationChart1.getType() + 1)); rotationChart.update(); JMResult.success(this, "新增成功"); } else { JMResult.fail(this, "新增失败"); } } /** * 轮播图更新 */ @Before(value = { JMSystemApiInterceptor.class }) public void rotationChartUpdate() { String image = JMUploadKit.fileUpload(this, "file", "rotationChart"); Integer rotationChartId = getParaToInt("rotationChartId",null); Configure rotationChart = new Configure(); Configure rotationChart1 = configureDao.getById(rotationChartId); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); boolean result = false;// 标识是否报错 if (image != null) { if (rotationChart1.getValue() != null) ToolUpload.deleteFile(rotationChart1.getValue()); rotationChart.setId(rotationChartId); rotationChart.setValue(image); rotationChart.setValue2(sdf.format(new Date()));// 记录更新时间 result = configureDao.update(rotationChart); } if (result) { JMResult.success(this, "修改成功"); } else { JMResult.fail(this, "修改失败"); } }
【2】多张

参考文章路径:https://www.layui.com/demo/up...

示例三 【1】oss上传图片


选择图片 改变 删除
NOTE! 兼容 IE10+, FF3.6+, Safari6.0+, Chrome6.0+ and Opera11.1+.以上的浏览器
后台代码: String ossFileUpload = ToolUpload.OSSFileUpload(this, "image", "configure"); 地址:wenbang/upload/configure/20190116/xxx.jpg page 页面显示缩略图: ${ctx}/assets/global/img/no.png${oss}${obj.value}" style="max-width: 26px; max-height: 22px;">

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74064.html

相关文章

  • Java文件上传细讲

    摘要:代码量也的确减少很多也能够获取普通字段的参数上传文件名的中文乱码和上传数据的中文乱码我把文件名改成中文,就乱码了表单提交过来的中文数据也乱码了。 什么是文件上传? 文件上传就是把用户的信息保存起来。 为什么需要文件上传? 在用户注册的时候,可能需要用户提交照片。那么这张照片就应该要进行保存。 上传组件(工具) 为什么我们要使用上传工具? 为啥我们需要上传组件呢?当我们要获取客户端的数据...

    soasme 评论0 收藏0
  • 前端临床手札——文件上传

    摘要:文件上传基本是学习前端路上必定遇到的例子,然而网上能找到的都是单单满足上传这步的案例。但前提是需要约定传入值和返回类型。 文件上传基本是学习前端路上必定遇到的例子,然而网上能找到的都是单单满足上传这步的案例。大多文章之所以只说上传这步估计是简单易入门,但是实际工作时就会发现上传文件这个功能上是简单的,逻辑上却比较复杂。 先说一下需求和功能点: 需求:上传文件到服务器 功能:上传 单这么...

    SexySix 评论0 收藏0
  • Node+H5实现大文件分片上传(有源码)

    摘要:话前上传大文件上传的教程网上很多但是大部分没给出一个比较完整的出来这个博客给出的是前后端一套完整的解决方案其中前端没有使用第三方上传库希望能帮到有同样需求的朋友们大文件分片上传的好处在这里就不用多说了之前不管是上传单文件还是分片文件上传都是 话前 上传大文件上传的教程网上很多, 但是大部分没给出一个比较完整的出来, 这个博客给出的是前后端一套完整的解决方案, 其中前端没有使用第三方上传...

    1treeS 评论0 收藏0
  • PHP 代码审计:(一)文件上传

    摘要:代码审计一文件上传概述在网站的运营过程中,不可避免地要对网站的某些页面或内容进行更新,这时便需要使用到网站上的文件上传功能。 PHP 代码审计:(一)文件上传 0x00 概述 在网站的运营过程中,不可避免地要对网站的某些页面或内容进行更新,这时便需要使用到网站上的文件上传功能。如果不对被上传文件进行限制,或限制被绕过,该功能便有可能会被利用于上传可执行文件、脚本到服务器上,今儿进一步导...

    vslam 评论0 收藏0

发表评论

0条评论

roland_reed

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<