將文件(圖片,excel表等)上傳到服務器保存,之后會得到一個保存路徑,根據這個路徑可以進行文件下載(根據路徑下載前端可以實現)。
具體代碼如下:
@PostMapping("/upload") public void uploadPhoto(@RequestParam("uploadFile")MultipartFile uploadFile, @RequestParam("aiIdCard")String aiIdCard, HttpServletRequest request) { //定義上傳文件存放的路徑 String path = request.getSession().getServletContext().getRealPath("/uploadFile/");//此處為tomcat下的路徑,服務重啟路徑會變化 System.out.println(path); //定義文件在上傳路徑中的文件夾名稱 File folder = new File(path + aiIdCard); //檢測folder是否是文件夾,不是就創建 if (!folder.isDirectory()) { folder.mkdirs(); } //獲取文件的原始名稱 String oldName = uploadFile.getOriginalFilename(); //oldName.substring(oldName.lastIndexOf(".")) 獲取文件的后綴名 //生成新的文件名(下面根據自己需要決定是否使用) //String newName ="定義新名字" + oldName.substring(oldName.lastIndexOf(".")); //文件保存操作 uploadFile.transferTo(new File(folder, oldName)); //返回保存的url,根據url可以進行文件查看或者下載 String filePath = request.getScheme() + "://" + request.getServerName() + ":" +request.getServerPort() + "/uploadFile/" + aiIdCard +"/"+ oldName;
}
為了解決上述上傳服務器,服務器重啟后路徑會變化的情況,可以自定義路徑。也可以自定義為本地路徑進行測試,通過返回的url可以進行訪問。