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就可以訪問了:
localhost:8080/ + url
方法二:
配置文件
#=============文件上傳========# # 文件訪問路徑 file.path=/upload/** # 靜態(tài)資源文件訪問路徑 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;
//用戶訪問的圖片路徑
@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使用jni清屏功能的實(shí)現(xiàn)(只針對(duì)cmd)
JNI是Java Native Interface的縮寫,它提供了若干的API實(shí)現(xiàn)了Java和其他語言的通信(主要是C&C++)。這篇文章主要介紹了Java使用jni清屏功能的實(shí)現(xiàn)(只針對(duì)cmd) ,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05
在Java的Hibernate框架中使用SQL語句的簡(jiǎn)單介紹
這篇文章主要介紹了在Java的Hibernate框架中使用SQL語句的方法,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2016-01-01
SpringBoot借助spring.factories文件跨模塊實(shí)例化Bean
這篇文章主要介紹了SpringBoot借助spring.factories文件跨模塊實(shí)例化Bean,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-04-04
Springboot詳解RocketMQ實(shí)現(xiàn)消息發(fā)送與接收流程
這篇文章主要介紹了SpringBoot整合RocketMQ實(shí)現(xiàn)消息發(fā)送和接收功能,我們使用主流的SpringBoot框架整合RocketMQ來講解,使用方便快捷,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
圖解Java經(jīng)典算法插入排序的原理與實(shí)現(xiàn)
插入排序的算法描述是一種簡(jiǎn)單直觀的排序算法。其原理是通過構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。本文將用Java語言實(shí)現(xiàn)插入排序算法并進(jìn)行可視化,感興趣的可以了解一下2022-09-09
SpringBoot集成Swagger2實(shí)現(xiàn)Restful(類型轉(zhuǎn)換錯(cuò)誤解決辦法)
這篇文章主要介紹了SpringBoot集成Swagger2實(shí)現(xiàn)Restful(類型轉(zhuǎn)換錯(cuò)誤解決辦法),需要的朋友可以參考下2017-07-07
Installij IDEA install或clean項(xiàng)目的使用
這篇文章主要介紹了Installij IDEA install或clean項(xiàng)目的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08

