1.传统方式
2. MultipartFile 的 transferTo
<form action="<%=path%>/salesMan/salesSave.action" onsubmit="return editSalesCheck()" method="post" enctype="multipart/form-data">
<input id="salesImages" name="salesFile" type="file"/>
<input class="btn btn-primary radius" type="submit" value=" 添加 "/>
</form>
@RequestMapping("/salesSave")
public String salesSave(HttpServletRequest request,Model model,Sales sale) {
MultipartRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile salesFile = multipartRequest.getFile("salesFile");// 获取上传文件名
String newSaleImg = "";
if (!salesFile.isEmpty()) {
String string = salesFile.getOriginalFilename();
Map<String, Object> yzsuffix = yzsuffix(string,".jpg .jpeg .gif .bmp");
if("error".equals(yzsuffix.get("sta"))) { //验证文件格式
model.addAttribute("ywType", ywType);
model.addAttribute("ywylev", ywylev);
model.addAttribute("sales", sale);
model.addAttribute("msg", yzsuffix.get("errmsg"));
return "save_sales";
}
string = "Y"+Tools.GetImgDate()+"/"+new Date().getTime()+ 1 +"salesImg" + string.substring(string.lastIndexOf("."));
//判断图片保存文件夹是否存在,若不存在,则创建:
String realpath = Constants2.uploadpath + "/" + Constants2.m_sp + "/images/";
File rfile = new File(realpath+"Y"+Tools.GetImgDate()+"/");
if(!rfile.exists()) {
rfile.mkdirs();
}
BUFFER_SIZE = (int)salesFile.getSize() + 100; //缓冲区大小预留大小100;
File imageFile = new File(realpath + string);
try {
salesFile.transferTo(imageFile);
} catch (Exception e) {
BaseLog.e(this.getClass(), "transferTo() 保存图片异常",e);
model.addAttribute("ywType", ywType);
model.addAttribute("ywylev", ywylev);
model.addAttribute("sales", sale);
model.addAttribute("msg", "上传头像失败!");
return "save_sales";
}
newSaleImg = string;
}else{
model.addAttribute("ywType", ywType);
model.addAttribute("ywylev", ywylev);
model.addAttribute("sales", sale);
model.addAttribute("msg", "请上传头像!");
return "save_sales";
}
}