好处:用ajax无刷新提交带文件的表单
-
前端
- html
//name值和后台对应
<form action="" id="orgInfoForm" method="post" name="orgInfoForm">
<input id="studentNum" name="userNum" type="text"/>
<input id="filePath" name="filePath" type="file"/>
</form>
- js(前提jquery)
var formData = new FormData($("#orgInfoForm")[0]);
//如果需要别的值表单里面没有,可以通过formData.append(key,value)实现
formData.append("userName","王二狗");
//ajax提交
$.ajax({
url:"${pageContext.request.contextPath}/这里是url/这里是url",
type:"POST",
data:formData,
processData : false,// 告诉jQuery不要去处理发送的数据
contentType : false,// 告诉jQuery不要去设置Content-Type请求头
dataType:"text",
success:function(data){
//成功后的操作
},
error:function(){
alert("请求失败")
}
});
-
后台
public String aaa(HttpServletRequest request,@RequestParam(value = "coverImage", required = false) MultipartFile filePath){
//后面都是没用的操作,看看使用方法
if(filePath!=null){
fileName = filePath.getOriginalFilename()+System.currentTimeMillis(); ;
File targetFile = new File(path, fileName);
File files = new File(path);
if (!files.exists()) {
files.mkdirs();
}
// 保存
try {
filePath.transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
experiment.setCoverImage(fileName);
FileOptUtil fileOptUtil = new FileOptUtil();
if(!"home_img_pic4.png".equals(experimentById.getCoverImage())){
fileOptUtil.deleteFile(path+"/"+experimentById.getCoverImage());
}
}else{
experiment.setCoverImage(experimentById.getCoverImage());
}
}
网友评论