springmvc+ajax+formdata上传图片代码实例

网友投稿 274 2022-12-28


springmvc+ajax+formdata上传图片代码实例

最近工作涉及到了上传图片的情况,在网上看了很多,就着重学习了下。上传文件的方式有多种,这里对使用FormData的方式进行说明。

1、springmvc项目想要上传文件,需要使用multipart方式,所以在spring-mvc.xml配置文件中需要增加multipart相关配置,代码如下

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

2、jsp代码



  





需要注意的是,form 的 enctype 值必须为 multipart/form-data,这样才能在提交表单的时候传递文件数据。

如果要一次选择多个文件,可以在file表单添加"multiple",这样在选择文件时可以一次选择多个文件。

3、js代码

function morePicUpload(){

var formData = new FormData(dohttp://cument.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

public ResultTo morePicUpload(HttpServletRequest request){

ResultTo resultTo = new ResultTo();

resultTo.setData("");

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

String id = multipartRequest.getParameter("id");

String name = multipartRequest.getParameter("name");

System.out.println(id);

System.out.println(name);

List filelist = multipartRequest.getFiles("pic");

for(MultipartFile file:filelist){

if(!file.isEmpty()){

System.out.println(file.getOriginalFilename());

}

}

return resultTo;

}

使用"MultipartHttpServletRequest"可以获取form表单中的所有空间内容,文件可以通过"List filelist = multipartRequest.getFiles("pic");"方式获取,然后进行文件的上传等操作就行了。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:为什么使用微服务网关(微服务为什么要用网关)
下一篇:私有部署接口测试工具(私有部署接口测试工具是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~