SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實現(xiàn)方法
方法一
實現(xiàn)類:
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(); } //創(chuàng)建新的文件名 public static String renameToUUID(String fileName) { return UUID.randomUUID() + "." + fileName.substring(fileName.lastIndexOf(".") + 1); } }
瀏覽器輸入ip地址端口號+自己的生成url就可以訪問了:
localhost:8080/ + url
方法二:
配置文件
#=============文件上傳========# # 文件訪問路徑 file.path=/upload/** # 靜態(tài)資源文件訪問路徑 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 ; //創(chuàng)建file對象 File f = new File(filePath); //目錄是否存在,不存在則創(chuàng)建 if(!f.isDirectory()){ f.mkdirs(); } //上傳文件 file.transferTo(f); String url = upload+fileName ; return url; } catch (IOException e) { e.printStackTrace(); } return "上傳失敗"; }
到此這篇關于SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實現(xiàn)方法的文章就介紹到這了,更多相關SpringBoot上傳本地圖片生成圖片鏈接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java使用jni清屏功能的實現(xiàn)(只針對cmd)
JNI是Java Native Interface的縮寫,它提供了若干的API實現(xiàn)了Java和其他語言的通信(主要是C&C++)。這篇文章主要介紹了Java使用jni清屏功能的實現(xiàn)(只針對cmd) ,感興趣的朋友跟隨腳本之家小編一起學習吧2018-05-05在Java的Hibernate框架中使用SQL語句的簡單介紹
這篇文章主要介紹了在Java的Hibernate框架中使用SQL語句的方法,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2016-01-01SpringBoot借助spring.factories文件跨模塊實例化Bean
這篇文章主要介紹了SpringBoot借助spring.factories文件跨模塊實例化Bean,文章圍繞主題展開詳細的內(nèi)容介紹,需要的小伙伴可以參考一下2022-04-04Springboot詳解RocketMQ實現(xiàn)消息發(fā)送與接收流程
這篇文章主要介紹了SpringBoot整合RocketMQ實現(xiàn)消息發(fā)送和接收功能,我們使用主流的SpringBoot框架整合RocketMQ來講解,使用方便快捷,本文分步驟給大家介紹的非常詳細,需要的朋友可以參考下2022-06-06圖解Java經(jīng)典算法插入排序的原理與實現(xiàn)
插入排序的算法描述是一種簡單直觀的排序算法。其原理是通過構建有序序列,對于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應位置并插入。本文將用Java語言實現(xiàn)插入排序算法并進行可視化,感興趣的可以了解一下2022-09-09SpringBoot集成Swagger2實現(xiàn)Restful(類型轉換錯誤解決辦法)
這篇文章主要介紹了SpringBoot集成Swagger2實現(xiàn)Restful(類型轉換錯誤解決辦法),需要的朋友可以參考下2017-07-07Installij IDEA install或clean項目的使用
這篇文章主要介紹了Installij IDEA install或clean項目的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08