spring架构的文件上传方式

 

1.传统方式

 

 

 

 

2. MultipartFile 的 transferTo

@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 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";
	}
	
}

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(spring架构的文件上传方式)