springmvc+ajax+formdata上传图片代码实例
最近工作涉及到了上传图片的情况,在网上看了很多,就着重学习了下。上传文件的方式有多种,这里对使用FormData的方式进行说明。
1、springmvc项目想要上传文件,需要使用multipart方式,所以在spring-mvc.xml配置文件中需要增加multipart相关配置,代码如下
2、jsp代码
需要注意的是,form的enctype值必须为multipart/form-data,这样才能在提交表单的时候传递文件数据。
如果要一次选择多个文件,可以在file表单添加"multiple",这样在选择文件时可以一次选择多个文件。
3、js代码
functionmorePicUpload(){
varformData=newFormData(document.getElementById("fileForm"));
alert(0);
$.ajax({
url:basePath+"morePicUpload",
type:"post",
data:formData,
async:false,
cache:false,dataType:"json",
contentType:false,
processData:false,
success:function(data){
//code
}
});
}
先创建formData,用来存放表单中的内容,"fileForm"为jsp页面中form的id。
4、最后的是controller,代码如下
@RequestMapping("/morePicUpload")
@ResponseBody
publicResultTomorePicUpload(HttpServletRequestrequest){
ResultToresultTo=newResultTo();
resultTo.setData("");
MultipartHttpServletRequestmultipartRequest=(MultipartHttpServletRequest)request;
Stringid=multipartRequest.getParameter("id");
Stringname=multipartRequest.getParameter("name");
System.out.println(id);
System.out.println(name);
Listfilelist=multipartRequest.getFiles("pic");
for(MultipartFilefile:filelist){
if(!file.isEmpty()){
System.out.println(file.getOriginalFilename());
}
}
returnresultTo;
}
使用"MultipartHttpServletRequest"可以获取form表单中的所有空间内容,文件可以通过"List
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。