java 上傳圖片到Tomcat的webapps目錄下


java 上傳圖片到Tomcat的webapps目錄下
`

  // 圖片上傳地址(Linux)
  //private String IMAGE_UPLOAD_URL = /usr/local/apache-tomcat-picture/webapps
  // 圖片上傳地址(window)
  private String IMAGE_UPLOAD_URL = D:/apache-tomcat-picture/webapps

/** 上傳圖片到Tomcat的webapps目錄下 **/
public String uploadFileInTomcatWebapps(MultipartFile file) throws IllegalStateException, IOException{
	if(null != file){
		// 獲取上傳文件的原始名稱
		String originalFilename = file.getOriginalFilename();
		if (null != originalFilename && originalFilename.length() > 0) {
			// 生成新的圖片名稱
			String newFileName = genImageName() + originalFilename.substring(originalFilename.lastIndexOf("."));				
			// 獲取Tomcat服務器所在的路徑
			String tomcat_path = System.getProperty( "user.dir" );
			System.out.println("Tomcat服務器所在的路徑: "+tomcat_path);
			// 獲取Tomcat服務器所在路徑的最后一個文件目錄
			String bin_path = tomcat_path.substring(tomcat_path.lastIndexOf("/")+1,tomcat_path.length());
			System.out.println("Tomcat服務器所在路徑的最后一個文件目錄: "+bin_path);
			String pic_path = "";
			// 判斷最后一個文件目錄是否為bin目錄
			if(("bin").equals(bin_path)){ 
				// 獲取保存上傳圖片的文件路徑
				pic_path = tomcat_path.substring(0,System.getProperty( "user.dir" ).lastIndexOf("/")) +"/webapps"+"/images/";
			}else{					
				pic_path = IMAGE_UPLOAD_URL+"/images/";
			}
			// 設置文件保存路徑(文件存放按日期存放)
			String datePath = new DateTime().toString("/yyyy/MM/dd"); 
			File newFileDir = new File(pic_path+datePath);
			//如果不存在 則創建
            if (!newFileDir.exists()) {	            	
            	newFileDir.mkdirs();	           
            }
			// 將內存中的數據寫入磁盤
            String savePath = newFileDir +"/" + newFileName;
            System.out.println("上傳圖片的路徑:" + savePath);
			file.transferTo(new File(savePath));
			// 返回路徑
			String url = "/images"+datePath+"/"+newFileName;				
			return url;
		}
	}
	return null;
}

/** 圖片名生成 **/
public String genImageName() {
	//取當前時間的長整形值包含毫秒
	long millis = System.currentTimeMillis();
	//加上三位隨機數
	Random random = new Random();
	int end3 = random.nextInt(999);
	//如果不足三位前面補0
	String str = millis + String.format("%03d", end3);		
	return str;
}

  // 上傳圖片
    @RequestMapping(value = "/pictureb", method = { RequestMethod.GET, RequestMethod.POST})
       public String uploadPicture(MultipartFile upfile, HttpServletRequest request, HttpServletResponse response) {
	if (null != upfile) {				
		String upfileName = upfile.getOriginalFilename();
		upfileName = upfileName.toLowerCase();				
		if (upfileName.matches("^.*(jpg|png|gif)$")) {										
			try {						
				BufferedImage buff = ImageIO.read(upfile.getInputStream());
				if (null != buff && 0 != buff.getHeight() && 0 != buff.getWidth()) {																		
					String url = UploadPictureUtil.uploadFileInTomcatWebapps(upfile);
					if (StringUtils.isNoneBlank(url)) {												   
						return ReturnResult.objectToJson(ReturnResult.build(200, "上傳成功 ",url));
					}else{					
						return ReturnResult.objectToJson(ReturnResult.build(300, "上傳失敗,請稍后再試"));
					}
				}else{
					return ReturnResult.objectToJson(ReturnResult.build(300, "存在未知風險,無法上傳"));
				}
			} catch (Exception e) {
				e.printStackTrace();
				return ReturnResult.objectToJson(ReturnResult.build(500, "系統繁忙"));
			}
		}else{
			return ReturnResult.objectToJson(ReturnResult.build(300, "請選擇正確格式的圖片"));
		}				
	}else{
		return ReturnResult.objectToJson(ReturnResult.build(300, "參數異常null"));
	}
}

`


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM