1.jsp页面
var files = $("#file1").get(0).files[0]; //获取file控件中的内容
var fd = new FormData();
fd.append("name",param.name.value);
fd.append("position",param.position.value);
fd.append("money",param.money.value);
fd.append("date",param.date.value);
fd.append("use",param.use.value);
fd.append("type",param.type.value);
fd.append("errPic", files);
$.ajax({
type: "POST",
contentType:false, //必须false才会避开jQuery对 formdata 的默认处理 , XMLHttpRequest会对 formdata 进行正确的处理
processData: false, //必须false才会自动加上正确的Content-Type
url: url,
data: fd,
success: function (msg) {
},
error: function (msg) {
}
});
2.controller
// 转型为MultipartHttpRequest(重点的所在)这个就是上面ajax中提到如果直接访问此接口而不加"/",此转型就会报错
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
// 获得第1张图片(根据前台的name名称得到上传的文件)
MultipartFile file = multipartRequest.getFile("errPic"); //对应 jquery $("#imageFile").get(0).files[index]
获取一般字段仍然用request.getParameter(name);