springmvc上传多个文件简单记录

<!-- 配置文件上传解析器 -->
<!-- id必须要配置,而且是配置父类接口的类名 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置图片上传大小 -->
<property name="maxUploadSize" value="500000000" />
<property name="defaultEncoding" value="UTF-8" />
</bean>

注意要在form标签中加上enctype="multipart/form-data"表示该表单是要处理文件的,

var formData = new FormData($("#forms")[0]);
使用这种方式将数据封装后,file类型的文件数据即可以键值对的方式封装在formdata中,然后用ajx提交,方法如下:
 $.ajax({ 
        type : "POST", 
        url : "houtai/123.do", 
        data : formData,
        async: false, 
        cache: false, 
        contentType: false, 
        processData: false,
        success : function(msg) { 
            if(msg){
            alert('提交成功!');
            }
        } 
}); 
有一点需要注意的是,以formdata的方式提交时需要添加async: false, 同步,否则后台无法接收到前台传过来的file文件数据,这样的提交方式,既可以提交任何一种type类型标签,
又可以在提交之后得到返回结果,方便快捷又实用。

后台接收
public HashMap<String, Boolean> addComplaintInfo(ComplaintInfo complaintInfo,@RequestParam("shouquanFile") MultipartFile shouquanFile,@RequestParam("cardFile") MultipartFile cardFile,@RequestParam("zuozhengFile") MultipartFile zuozhengFile) throws IOException {

String originalshouquanFile=null;
String originalcardFile=null;
String originalzuozhengFile=null;
if(!shouquanFile.isEmpty()){
originalshouquanFile = shouquanFile.getOriginalFilename();
// 文件保存路径
String filePath = GetPicUrlUtils.getPicUrl(originalshouquanFile);
// 转存文件
shouquanFile.transferTo(new File(filePath));

}
if(!cardFile.isEmpty()){
originalcardFile = cardFile.getOriginalFilename();
// 文件保存路径
String filePath = GetPicUrlUtils.getPicUrl(originalcardFile);
// 转存文件
shouquanFile.transferTo(new File(filePath));
}
if(!zuozhengFile.isEmpty()){
originalzuozhengFile = zuozhengFile.getOriginalFilename();
// 文件保存路径
String filePath = GetPicUrlUtils.getPicUrl(originalzuozhengFile);
// 转存文件
shouquanFile.transferTo(new File(filePath));
}

return null;
}


posted @ 2019-08-30 12:06  代码界的绵绵雨  阅读(246)  评论(0编辑  收藏  举报