TOMCAT在eclipse上重新部署後就會刪除之前的圖片資源解決
阿新 • • 發佈:2018-11-08
1.首先在tomcat的server.xml 中的host 新增
<Context docBase="F:\images" reloadable="true" debug="0" path="/img"/>
新增圖片對映到其餘的碟符
2.修改上傳的檔案的程式碼
/** * 上傳到window環境的圖片 */ public static AjaxJson uploadImageWindows(MultipartFile multipartFile,HttpServletRequest request) { AjaxJson j = new AjaxJson(); InputStream is = null; OutputStream os = null; try { // 獲取檔名稱 String originalFilename = multipartFile.getOriginalFilename(); // 獲取檔案的字尾 String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); // 使用現在的 時間作為圖片的新名稱 String fileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); // 獲取資料夾在Windows上的 真是檔案路徑 例如: upload資料夾 //String realPath = request.getServletContext().getRealPath("img"); String realPath ="f:/images";//真實碟符 ====>tomcat會自動對映f:/images====>img // 建立儲存圖片的資料夾 String path = realPath + File.separator ; // 不存在就建立 File file = new File(path); if (!file.exists()) { file.mkdirs(); } // 儲存檔案 file = new File(path + File.separator + fileName + suffix); is = multipartFile.getInputStream(); os = new FileOutputStream(file); // 拷貝檔案 copyFile(is, os); j.setSuccess(true); j.setObj("img" + File.separator + fileName + suffix);//返回的圖片地址 } catch (Exception e) { j.setSuccess(false); j.setMsg("系統繁忙,請稍後重試"); e.printStackTrace(); } finally { try { os.close(); } catch (IOException e) { e.printStackTrace(); } try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return j; } 3.訪問圖片的url地址 http://localhost:8080/img/20181101231837750.gif