从网上查了很多资料,都是采用form表单向后台传递文件,最近项目中想使用ajax传文件,后台用Mutipartfile接受文件,多次尝试后,代码如下:
在ajax中要设置以下属性:
js代码:
var formData = new FormData();
formData.append(“img”,img);
formData.append(“productStr”,productStr);
$.ajax({
url: url,
type:“POST”,
data: formData,
processData: false,
contentType: false,
dataType:“json”,
mimeType:“multipart/form-data”,
success: function(res){
if(res.code == 200){
alert(‘成功’);
window.location.href="./category.html";
} else {
alert(‘数据更新失败’);
}
}
});
}
后端代码:要设置requestparam注解,并加上required属性
@RequestMapping(value = “/addproduct”,method = RequestMethod.POST)
@ResponseBody
public ResultVO addProduct(@RequestParam(value = “img”,required = false) MultipartFile file, HttpServletRequest request){
try {
String filename = file.getName();
String or = file.getOriginalFilename();
System.out.println(filename + “===” +or)
File file2 = new File(path,filename);
file.transferTo(file2);
} catch (IOException e) {
e.printStackTrace();
}
return ResultVOUtil.success();
}