日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot實(shí)現(xiàn)本地存儲(chǔ)文件上傳及提供HTTP訪問服務(wù)的方法

瀏覽:16日期:2023-05-03 09:45:44

筆者計(jì)劃為大家介紹分布式文件系統(tǒng),用于存儲(chǔ)應(yīng)用的圖片、word、excel、pdf等文件。在開始介紹分布式文件系統(tǒng)之前,為大家介紹一下使用本機(jī)存儲(chǔ)來存放文件資源。二者的核心實(shí)現(xiàn)過程是一樣的:

上傳文件,保存文件(本節(jié)是本地磁盤) 返回文件HTTP訪問服務(wù)路徑給前端,進(jìn)行上傳之后的效果展示

一、復(fù)習(xí)

服務(wù)端接收上傳的目的是提供文件的訪問服務(wù),那么對(duì)于SpringBoot而言,有哪些可以提供文件訪問的靜態(tài)資源目錄呢?

classpath:/META-INF/resources/ , classpath:/static/ , classpath:/public/ , classpath:/resources/

這是之前我們?yōu)榇蠹医榻B的內(nèi)容,從這里看出這里的靜態(tài)資源都在classpath下。那么就出現(xiàn)問題:

應(yīng)用的文件資源不能和項(xiàng)目代碼分開存儲(chǔ)(你見過往github上傳代碼,還附帶項(xiàng)目文件數(shù)據(jù)的么?) 項(xiàng)目打包困難,當(dāng)上傳的文件越來越多,項(xiàng)目的打包jar越來越大。 代碼與文件數(shù)據(jù)不能分開存儲(chǔ),就意味著文件數(shù)據(jù)的備份將變得復(fù)雜

二、文件上傳目錄自定義配置

怎么解決上述問題?別忘記了spring boot 為我們提供了使用spring.resources.static-locations配置自定義靜態(tài)文件的位置。

web: upload-path: D:/data/spring: resources: static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path} 配置web.upload-path為與項(xiàng)目代碼分離的靜態(tài)資源路徑,即:文件上傳保存根路徑 配置spring.resources.static-locations,除了帶上Spring Boot默認(rèn)的靜態(tài)資源路徑之外,加上file:${web.upload-path}指向外部的文件資源上傳路徑。該路徑下的靜態(tài)資源可以直接對(duì)外提供HTTP訪問服務(wù)。

三、文件上傳的Controller實(shí)現(xiàn)

詳情看代碼注釋

@RestControllerpublic class FileUploadController { //綁定文件上傳路徑到uploadPath @Value('${web.upload-path}') private String uploadPath; SimpleDateFormat sdf = new SimpleDateFormat('yyyy/MM/dd/'); @PostMapping('/upload') public String upload(MultipartFile uploadFile, HttpServletRequest request) { // 在 uploadPath 文件夾中通過日期對(duì)上傳的文件歸類保存 // 比如:/2019/06/06/cf13891e-4b95-4000-81eb-b6d70ae44930.png String format = sdf.format(new Date()); File folder = new File(uploadPath + format); if (!folder.isDirectory()) { folder.mkdirs(); } // 對(duì)上傳的文件重命名,避免文件重名 String oldName = uploadFile.getOriginalFilename(); String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf('.'), oldName.length()); try { // 文件保存 uploadFile.transferTo(new File(folder, newName)); // 返回上傳文件的訪問路徑 String filePath = request.getScheme() + '://' + request.getServerName() + ':' + request.getServerPort() + format + newName; return filePath; } catch (IOException e) { throw new CustomException(CustomExceptionType.SYSTEM_ERROR); } }}

四、寫一個(gè)模擬的文件上傳頁面,進(jìn)行測(cè)試

把該upload.html文件放到classpath:public目錄下,對(duì)外提供訪問。

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body><form action='/upload' method='post' enctype='multipart/form-data'> <input type='file' name='uploadFile' value='請(qǐng)選擇上傳文件'> <input type='submit' value='保存'></form></body></html>

訪問測(cè)試、點(diǎn)擊“選擇文件”,之后保存

SpringBoot實(shí)現(xiàn)本地存儲(chǔ)文件上傳及提供HTTP訪問服務(wù)的方法

文件被保存到服務(wù)端的web.upload-path指定的資源目錄下

SpringBoot實(shí)現(xiàn)本地存儲(chǔ)文件上傳及提供HTTP訪問服務(wù)的方法

瀏覽器端響應(yīng)結(jié)果如下,返回一個(gè)文件HTTP訪問路徑:

SpringBoot實(shí)現(xiàn)本地存儲(chǔ)文件上傳及提供HTTP訪問服務(wù)的方法

使用該HTTP訪問路徑,在瀏覽器端訪問效果如下。證明我們的文件已經(jīng)成功上傳到服務(wù)端,以后需要訪問該圖片就通過這個(gè)HTTP URL就可以了。

SpringBoot實(shí)現(xiàn)本地存儲(chǔ)文件上傳及提供HTTP訪問服務(wù)的方法

到此這篇關(guān)于SpringBoot實(shí)現(xiàn)本地存儲(chǔ)文件上傳及提供HTTP訪問服務(wù)的文章就介紹到這了,更多相關(guān)SpringBoot實(shí)現(xiàn)文件上傳和訪問內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线国产一区| 日韩av影院| www在线观看黄色| 日韩另类视频| 亚洲欧美日韩一区在线观看| 亚洲精选久久| 国产精品午夜av| 成年男女免费视频网站不卡| 亚洲午夜黄色| 亚洲三级精品| 精品午夜av| 亚洲激情社区| 国产欧美在线| 91精品啪在线观看国产18 | av在线日韩| 不卡中文字幕| 欧美亚洲网站| 午夜精品成人av| 蜜臀久久99精品久久久画质超高清 | 精品一区二区三区四区五区| 中文在线免费视频| 婷婷综合亚洲| 91福利精品在线观看| 日本欧美不卡| 日韩区一区二| 日韩欧美一区二区三区在线观看| 免播放器亚洲一区| 国产aa精品| 最近国产精品视频| 欧美成人精品三级网站| 亚洲三级在线| 日韩精品1区| 日韩欧美中文在线观看| 色88888久久久久久影院| 日韩免费精品| 国精品一区二区三区| 日本成人手机在线| 一区二区三区四区日本视频| 免费日本视频一区| 伊人久久国产| 国产精品久久亚洲不卡| 91精品成人| 欧美91在线| 日韩专区在线视频| 日韩欧美一区二区三区在线视频| 亚洲欧美在线专区| 欧美日韩亚洲在线观看| 欧美激情麻豆| 亚洲一区二区三区四区电影| 日韩大片在线观看| 国产精品久久| 四虎精品一区二区免费| 成人久久久久| 国内精品伊人| 日韩av在线播放中文字幕| 日韩视频在线一区二区三区 | 五月综合激情| 日本久久黄色| 91精品日本| 亚洲视频国产| 极品日韩av| 精品一区二区三区在线观看视频| 亚洲精品视频一二三区| 蜜桃成人av| 三级在线看中文字幕完整版| 久久av资源| 日韩av一区二| 伊人久久一区| 首页欧美精品中文字幕| 亚洲a一区二区三区| 色综合五月天| 久久久久久久久成人| 欧美片第1页综合| 五月激激激综合网色播 | 国产一区91| 欧美 日韩 国产一区二区在线视频 | 国产精品啊v在线| 91成人小视频| 欧美一区=区三区| 日本综合视频| 蜜桃一区二区三区在线| 亚洲一区中文| 中文欧美日韩| 9久re热视频在线精品| 亚洲一级高清| 欧美1区2区3区| 欧美日韩在线二区| 欧美久久精品一级c片| 欧美影院三区| 国产一区视频在线观看免费| 亚洲福利专区| 亚洲一区二区免费看| 在线观看一区| 国产午夜精品一区在线观看| 欧美日韩亚洲三区| 国产精品115| 国产精品网站在线看| 国产区精品区| 九九久久国产| 日韩中文影院| 悠悠资源网久久精品| 亚洲婷婷丁香| 国产精品香蕉| 国产欧美一区二区三区精品酒店| 亚洲精品永久免费视频| 免费在线小视频| 亚洲一级特黄| 蜜桃久久久久久久| 日韩一区二区三免费高清在线观看 | 久久久久中文| 91成人超碰| 亚洲精品字幕| 国产精品视频一区二区三区综合| 美女国产精品久久久| 亚洲黄色免费av| 最新国产拍偷乱拍精品| 日韩在线卡一卡二| 国产情侣一区在线| 精品国产美女a久久9999| 日韩精品免费一区二区在线观看| 樱桃成人精品视频在线播放| 日韩三区四区| 精品中文字幕一区二区三区| 久久裸体视频| 婷婷综合一区| 日本欧美国产| 国产精品美女| 国产精品香蕉| 国产一区二区中文| 欧美另类中文字幕| 久久美女性网| 久久精品99国产精品| 水蜜桃久久夜色精品一区| 久久国产免费| 日韩欧美中文在线观看| 91亚洲国产| 午夜在线视频一区二区区别| 国产精品3区| 中文一区在线| 久久久久久一区二区| 美女网站久久| 成年男女免费视频网站不卡| 另类国产ts人妖高潮视频| 国产激情精品一区二区三区| 久久中文字幕av一区二区不卡| 亚洲精品影院在线观看| 亚洲国产欧美日本视频| 日韩有码av| 久久久久久久久99精品大| 日韩国产一区二| 91精品精品| 久久gogo国模啪啪裸体| 亚洲一区二区毛片| 亚洲美女久久精品| 国产三级一区| 免费在线观看精品| 日韩一区电影| 91成人精品在线| 免费久久99精品国产自在现线| 国产成人免费av一区二区午夜| 蜜臀a∨国产成人精品| 99精品在线免费在线观看| 国产精品亚洲综合在线观看| 91久久国产| 日韩专区精品| 欧美激情亚洲| 日韩高清不卡在线| 黄色日韩在线| 蜜桃av.网站在线观看| 国产精品久久久久久久久久久久久久久| 中文精品在线| 国产精品字幕| 久久久91麻豆精品国产一区| 亚洲区欧美区| 久久最新视频| 不卡中文字幕| 久久精品影视| 久久人人97超碰国产公开结果| 国产精品大片免费观看| 亚洲日本欧美| 欧美在线综合| 美女网站一区| 久久一级电影| 久久婷婷av| 99久久亚洲精品| 日本美女一区| 色乱码一区二区三区网站| 国产精品成人自拍| 欧美亚洲人成在线| 日韩高清一区在线| 蜜桃91丨九色丨蝌蚪91桃色| 91九色精品| 在线日韩中文| 成人在线观看免费视频| 国产精品自在| 国产调教精品| 欧美aaaaaa午夜精品| 国产精品对白| 国产高清亚洲| 国产在线日韩精品|