SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實(shí)現(xiàn)方法
方法一
實(shí)現(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,"圖片上傳出錯(cuò)"+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地址端口號(hào)+自己的生成url就可以訪問(wèn)了:
localhost:8080/ + url
方法二:
配置文件
#=============文件上傳========# # 文件訪問(wèn)路徑 file.path=/upload/** # 靜態(tài)資源文件訪問(wèn)路徑 file.staticPath=/upload #文件保存的絕對(duì)路徑 file.address=d://springbootimage/ #是否支持 multipart 上傳文件 spring.servlet.multipart.enabled=true #最大支持文件大小 spring.servlet.multipart.max-file-size=30MB #最大支持請(qǐng)求大小 spring.servlet.multipart.max-request-size=30MB
//獲取圖片上傳的配置路徑 @Value("${file.address}") String fileAdress; //用戶訪問(wèn)的圖片路徑 @Value("${file.staticPath}") String upload; @RequestMapping("/upload") @ResponseBody public String upload(MultipartFile file){ try { //定義上傳文件的前綴 String pre = ""; //保證文件上傳后 存到服務(wù)器的文件名的唯一性 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對(duì)象 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 "上傳失敗"; }
到此這篇關(guān)于SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)SpringBoot上傳本地圖片生成圖片鏈接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中幾種常用數(shù)據(jù)庫(kù)連接池的使用
數(shù)據(jù)庫(kù)連接池在編寫應(yīng)用服務(wù)是經(jīng)常需要用到的模塊,太過(guò)頻繁的連接數(shù)據(jù)庫(kù)對(duì)服務(wù)性能來(lái)講是一個(gè)瓶頸,使用緩沖池技術(shù)可以來(lái)消除這個(gè)瓶頸,本文就來(lái)介紹Java常見(jiàn)的幾種,感興趣的可以了解一下2021-05-05Java使用jni清屏功能的實(shí)現(xiàn)(只針對(duì)cmd)
JNI是Java Native Interface的縮寫,它提供了若干的API實(shí)現(xiàn)了Java和其他語(yǔ)言的通信(主要是C&C++)。這篇文章主要介紹了Java使用jni清屏功能的實(shí)現(xiàn)(只針對(duì)cmd) ,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05在Java的Hibernate框架中使用SQL語(yǔ)句的簡(jiǎn)單介紹
這篇文章主要介紹了在Java的Hibernate框架中使用SQL語(yǔ)句的方法,Hibernate是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下2016-01-01SpringBoot借助spring.factories文件跨模塊實(shí)例化Bean
這篇文章主要介紹了SpringBoot借助spring.factories文件跨模塊實(shí)例化Bean,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-04-04Springboot詳解RocketMQ實(shí)現(xiàn)消息發(fā)送與接收流程
這篇文章主要介紹了SpringBoot整合RocketMQ實(shí)現(xiàn)消息發(fā)送和接收功能,我們使用主流的SpringBoot框架整合RocketMQ來(lái)講解,使用方便快捷,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06圖解Java經(jīng)典算法插入排序的原理與實(shí)現(xiàn)
插入排序的算法描述是一種簡(jiǎn)單直觀的排序算法。其原理是通過(guò)構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。本文將用Java語(yǔ)言實(shí)現(xiàn)插入排序算法并進(jìn)行可視化,感興趣的可以了解一下2022-09-09SpringBoot集成Swagger2實(shí)現(xiàn)Restful(類型轉(zhuǎn)換錯(cuò)誤解決辦法)
這篇文章主要介紹了SpringBoot集成Swagger2實(shí)現(xiàn)Restful(類型轉(zhuǎn)換錯(cuò)誤解決辦法),需要的朋友可以參考下2017-07-07Java實(shí)現(xiàn)二分搜索樹(shù)的示例代碼
二分搜索樹(shù)是一顆二叉樹(shù),二分搜索樹(shù)每個(gè)節(jié)點(diǎn)的左子樹(shù)的值都小于該節(jié)點(diǎn)的值,每個(gè)節(jié)點(diǎn)右子樹(shù)的值都大于該節(jié)點(diǎn)的值。本文將利用Java實(shí)現(xiàn)二分搜索樹(shù),需要的可以參考一下2022-03-03Installij IDEA install或clean項(xiàng)目的使用
這篇文章主要介紹了Installij IDEA install或clean項(xiàng)目的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08