上传文件这块坑真是不少,耽误了有几个小时的时间,现在简单总结一下;
首先springmvc的核心xml中配置下MultipartResolver:
<!-- 配置 MultipartResolver -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxUploadSize" value="1024000"></property>
</bean>
前端页面form表单如下
<form id="formId">
<input type="hidden" id="userId" name="userId">
<input type="text" id="userNameId" name="userName">
<input type="file" id="userNameId" name="userLogo" multiple="multiple">
</form>
<div οnclick="saveUser();">保存</div>
js:
function saveUser(){
var formdata = new FormData($("#formId")[0]);
$.ajax({
type: 'POST',
url: "/user/saveUser",
data: formdata ,
dataType: 'JSON',
contentType: false,
processData:false,
success: function(data) {
//操作成功后的操作
},
error: function(data) {
}
});
}
后端controller中保存方法:
@RequestMapping(value = "saveUser",method=RequestMethod.POST)
@ResponseBody
public String saveTbPolicyDoc(HttpServletRequest request,User user
,@RequestParam(name="userLogo",required=true) MultipartFile userLogo) {
try {
//使用commons工具或者自己编写文件上传方法上传文件
}catch (Exception e) {
e.printStackTrace();
}
return null;
}