springboot基於MultipartFile實現檔案上傳
阿新 • • 發佈:2018-12-19
MultipartFile是springMVC的jar包,不需要其它座標,可以直接使用
一. 新建controller
@RequestMapping("/uploadTest1") public String test1(@RequestParam("imgFile") MultipartFile file, HttpServletRequest request){ //獲取上傳檔名,包含字尾 String originalFilename = file.getOriginalFilename(); //獲取字尾 String substring = originalFilename.substring(originalFilename.lastIndexOf(".")); //儲存的檔名 String dFileName = UUID.randomUUID()+substring; //儲存路徑 //springboot 預設情況下只能載入 resource資料夾下靜態資原始檔 String path = "D:/workspace/demo2/src/main/resources/static/image/"; //生成儲存檔案 File uploadFile = new File(path+dFileName); System.out.println(uploadFile); //將上傳檔案儲存到路徑 try { file.transferTo(uploadFile); } catch (IOException e) { e.printStackTrace(); } return "上傳"+dFileName+"成功"; }
二. 限制上傳檔案大小
在啟動類application.java新增@bean方法
/** * 限制上傳檔案大小 */ @Bean public MultipartConfigElement multipartConfigElement(){ MultipartConfigFactory factory = new MultipartConfigFactory(); //單個檔案最大 5m 可以使用讀取配置 factory.setMaxFileSize("5120KB"); //KB,MB /// 設定總上傳資料總大小 50m factory.setMaxRequestSize("512000KB"); return factory.createMultipartConfig(); }
說明: 可以將程式碼中限制大小的值存放到配置檔案中,以讀取配置的形式載入進來.