Java-多文件上传

1.Http请求

1:enctype="multipart/form-data" 开启文件上传属性,必须设置

2:method="post" 提交方式必须改

3:<input type="file" multiple="multiple" /> multiple 属性开启多文件上传,按住Shift 可以多选

上代码:

              jsp

 

              <form action = "upload" enctype="multipart/form-data" method="post">

              <input name="name" type="text" />

              <input name="files" type="file" multiple="multiple" />

              <input name="files" type="file" multiple="multiple" />

              <input type="submit" value="提交">

              </form>

 

            @Controller

            @RequestMapping("/upload")

            public String upload (HttpServletRequest request,String name){

 

                    MultiperHttpServletRequest mhsRequest = (MultiperHttpServletRequest) request

                    List<MultiperFile> files = mhsRequest.getFiles("files");

                    for( MultiperFile  file files ) {

                          //file 每一次循环的值

                   }

            }

 

2.Ajax请求

1:FormData 数据格式化

2:cache,processData,contentType 属性设置 false 

3:请求方式必须为 POST

<javascript>

var formData = new FormData($("#omForm")[0]);
    var ajaxUrl = ctx + '/om/omInsert';
    $.ajax({
        url: ajaxUrl,
        data:formData,
        cache: false,
        processData:false,
        contentType:false,
        type: "POST",
        dataType:"json",
        success: function (data) {
            if(data > 0){
                alert("数据已更新!");
            }else{
                alert("操作失败!");
            }
        }
    });

</javascript>

3.多文件上传存值处理

处理多文件上传,关键在于file 存值,可以前台 file 框存值,也可以后台做MultiperFile缓存,之后做处理,后台需要简单的缓存技术支持,这里重点说下前台存值处理,由于file文件域,属于安全性 input 所以别想着给 其后赋值,目前是不可能的,以后不知道

 

 

2018-07-18

Mr.Chenyb 随笔记录,只为自己查看方便