1. 程式人生 > >上傳圖片到指定路徑

上傳圖片到指定路徑

根據指定路徑,上傳檔案(照片)到本地磁碟

有時候我們在做專案的時候,需要上傳一些圖片檔案,但是,又存在無法上傳到專案根路徑的情況發生,這時候根據需要,我們可以上傳一些檔案或者圖片到本地磁碟空間,等到專案部署之後,相應的圖片會儲存在部署的伺服器上,開發環境就先上傳到本地磁碟的一個具體路徑,運用Java程式碼如何實現呢?下面是我的一些具體方法:

上傳圖片具體操作

1.配置檔案內:配置路徑資訊

#圖片儲存路徑  本地磁碟C 下面的import資料夾內放置上傳的檔案
import.file.savePath=c:/import

2.控制層:用@value註解注入檔案儲存路徑

@Value("${import.file.savePath}")
private String importPath;

3.控制層:上傳程式碼部分

/*
*適用於上傳一些指定資訊的圖片,用於某些特定的展示,
*後臺規定了檔名,所以重複上傳會把過往上傳的相同名字的檔案刪除覆蓋!
*但是檔案字尾名會和原檔案保持一致,防止展示圖片時瀏覽器不相容
**/
@RequestMapping(value="/Photo/importPhoto",method = {RequestMethod.POST , RequestMethod.GET})
public void importPhoto(MultipartFile importPhoto ,
HttpServletRequest request, HttpServletResponse response) throws IOException{ try{ //獲取上傳檔案的名稱 String fileName = importPhoto.getOriginalFilename(); //擷取引數之後剩餘的字串並返回(返回檔名中“.”的索引值),獲取上傳圖片的字尾名 String ext = fileName.subString(fileName.indexOf(".")); //根據指定儲存路徑新建file物件 File flist = new File(importPath)
; if(!importPath.isEmpty()){ //檢查指定路徑下是否有資料夾,沒有建立相應資料夾 flist.mkdir(); } //檢視指定路徑下的資料夾內的檔案 for(File f : flist.listFiles()){ if(f.getName().contains("檔名"){ //將指定的檔案刪除 f.delete(); } } //圖片上傳的路徑和上傳後的名稱+原始字尾名 File file2 = new File(importPath,"檔名"+ext); importPhoto.transferTo(file2); //上傳成功傳送給前臺的提示資訊 response.getWriter().write("true"); } catch (Exception e){ e.printStackTrace(); //上傳失敗,有異常傳送給前臺的提示資訊 resposne.getWriter().write("false"); } }