1 上传的文件,目录要存在,否则会报错文件找不到
File filePath = new File(serverPath);
if (!filePath.exists()) {
filePath.mkdirs();
}
File file=new File(serverPath,fileName);
multipartFile.transferTo(file);
2 文件上传为表单提交形式,后端接收时,不能限制content-type=applicaiton/json
<form name="form" action="" method="POST" enctype="multipart/form-data">
用户名:<input type="text" id="username" name="username"> <br>
<input id="fileToUpload" type="file" size="45" name="fileToUpload"
class="input">
<button class="button" onclick="return ajaxFileUpload();">上传</button>
</form>
这里请求参数,就只能放在url后
@RequestMapping(value = "/upload")
@ResponseBody
public NewJson upload(@Valid UploadDTO dto, HttpServletRequest request, HttpServletResponse response) throws IOException {
...
}
如果加上请求头类型限制 consumes = "application/json;charset=UTF-8",报错:
<script type="text/javascript" src="./js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="./js/ajaxfileupload.js"></script>
<script type="text/javascript">
function ajaxFileUpload() {
$.ajaxFileUpload({
url : 'http://localhost:8082//upload?memberId=1',
secureuri : false,
fileElementId : 'fileToUpload',
dataType : 'json',
success : function(data, status) {
if(data.msg) {
alert(data.msg);
}
},
error : function(data, status, e) {
alert('上传出错');
}
});
return false;
}
</script>