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 随笔记录,只为自己查看方便