SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實現方法
方法一
實現類:
public String fileUpload(MultipartFile file) { if(file == null){ return null; } String fileName = file.getOriginalFilename(); fileName = FileUtil.renameToUUID(fileName); //自定義保存到本地路徑 String uploadpath = "D:/image/"; try{ FileUtil.uploadFiles(file.getBytes(), uploadpath,fileName); }catch (Exception e){ throw new SignException(001,"圖片上傳出錯"+uploadpath); } //localhost:8080 String url = "/static/" + fileName; return url; }
工具類:
public class FileUtil { //圖片上傳 public static void uploadFiles(byte[] file, String filePath, String fileName) throws Exception { File targetFile = new File(filePath); if (!targetFile.exists()) { targetFile.mkdirs(); } FileOutputStream out = new FileOutputStream(filePath + fileName); out.write(file); out.flush(); out.close(); } //創建新的文件名 public static String renameToUUID(String fileName) { return UUID.randomUUID() + "." + fileName.substring(fileName.lastIndexOf(".") + 1); } }
瀏覽器輸入ip地址端口號+自己的生成url就可以訪問瞭:
localhost:8080/ + url
方法二:
配置文件
#=============文件上傳========# # 文件訪問路徑 file.path=/upload/** # 靜態資源文件訪問路徑 file.staticPath=/upload #文件保存的絕對路徑 file.address=d://springbootimage/ #是否支持 multipart 上傳文件 spring.servlet.multipart.enabled=true #最大支持文件大小 spring.servlet.multipart.max-file-size=30MB #最大支持請求大小 spring.servlet.multipart.max-request-size=30MB
//獲取圖片上傳的配置路徑 @Value("${file.address}") String fileAdress; //用戶訪問的圖片路徑 @Value("${file.staticPath}") String upload; @RequestMapping("/upload") @ResponseBody public String upload(MultipartFile file){ try { //定義上傳文件的前綴 String pre = ""; //保證文件上傳後 存到服務器的文件名的唯一性 pre = UUID.randomUUID()+""; //獲取文件的後綴名 String suffix = ""; if(file != null){ //.jpg String originalName = file.getOriginalFilename(); suffix= originalName.substring(originalName.lastIndexOf(".")+1); } //文件名 String fileName = pre+suffix; //定義 文件上傳的全路徑 String filePath = fileAdress + "\\" + fileName ; //創建file對象 File f = new File(filePath); //目錄是否存在,不存在則創建 if(!f.isDirectory()){ f.mkdirs(); } //上傳文件 file.transferTo(f); String url = upload+fileName ; return url; } catch (IOException e) { e.printStackTrace(); } return "上傳失敗"; }
到此這篇關於SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實現方法的文章就介紹到這瞭,更多相關SpringBoot上傳本地圖片生成圖片鏈接內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found