标签:UNC lte form -- encoding param pre work string
<!-- 配置文件上传解析器 -->
<!-- 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;
}
标签:UNC lte form -- encoding param pre work string
原文地址:https://www.cnblogs.com/cuiguangpeng/p/11434312.html