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)文章
SpringBoot配置文件中數(shù)據(jù)庫(kù)密碼加密兩種方案(推薦)
SpringBoot項(xiàng)目經(jīng)常將連接數(shù)據(jù)庫(kù)的密碼明文放在配置文件里,安全性就比較低一些,尤其在一些企業(yè)對(duì)安全性要求很高,因此我們就考慮如何對(duì)密碼進(jìn)行加密,文中給大家介紹加密的兩種方式,感興趣的朋友一起看看吧2019-10-10
ShardingSphere數(shù)據(jù)分片算法及測(cè)試實(shí)戰(zhàn)
這篇文章主要為大家介紹了ShardingSphere數(shù)據(jù)分片算法及測(cè)試實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理及源碼
Mybatis-Plus是一個(gè)Mybatis的增強(qiáng)工具,它在Mybatis的基礎(chǔ)上做了增強(qiáng),卻不做改變,Mybatis-Plus是為簡(jiǎn)化開發(fā)、提高開發(fā)效率而生,但它也提供了一些很有意思的插件,比如SQL性能監(jiān)控、樂(lè)觀鎖、執(zhí)行分析等,下面一起看看mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理解析2021-06-06
Java開發(fā)微信公眾號(hào)接收和被動(dòng)回復(fù)普通消息
這篇文章主要介紹了Java開發(fā)微信公眾號(hào)接收和被動(dòng)回復(fù)普通消息的相關(guān)資料,需要的朋友可以參考下2016-01-01
Spring?注入靜態(tài)對(duì)象使用三種方式示例
這篇文章主要為大家介紹了Spring注入靜態(tài)對(duì)象使用的三種方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)
這篇文章主要介紹了java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)的過(guò)程,文章圍繞實(shí)現(xiàn)過(guò)程展開全文詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-11-11

