成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

SpringBoot實現本地存儲文件上傳及提供HTTP訪問服務的方法

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

筆者計劃為大家介紹分布式文件系統,用于存儲應用的圖片、word、excel、pdf等文件。在開始介紹分布式文件系統之前,為大家介紹一下使用本機存儲來存放文件資源。二者的核心實現過程是一樣的:

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

一、復習

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

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

這是之前我們為大家介紹的內容,從這里看出這里的靜態資源都在classpath下。那么就出現問題:

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

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

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

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為與項目代碼分離的靜態資源路徑,即:文件上傳保存根路徑 配置spring.resources.static-locations,除了帶上Spring Boot默認的靜態資源路徑之外,加上file:${web.upload-path}指向外部的文件資源上傳路徑。該路徑下的靜態資源可以直接對外提供HTTP訪問服務。

三、文件上傳的Controller實現

詳情看代碼注釋

@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 文件夾中通過日期對上傳的文件歸類保存 // 比如:/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(); } // 對上傳的文件重命名,避免文件重名 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); } }}

四、寫一個模擬的文件上傳頁面,進行測試

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

<!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='請選擇上傳文件'> <input type='submit' value='保存'></form></body></html>

訪問測試、點擊“選擇文件”,之后保存

SpringBoot實現本地存儲文件上傳及提供HTTP訪問服務的方法

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

SpringBoot實現本地存儲文件上傳及提供HTTP訪問服務的方法

瀏覽器端響應結果如下,返回一個文件HTTP訪問路徑:

SpringBoot實現本地存儲文件上傳及提供HTTP訪問服務的方法

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

SpringBoot實現本地存儲文件上傳及提供HTTP訪問服務的方法

到此這篇關于SpringBoot實現本地存儲文件上傳及提供HTTP訪問服務的文章就介紹到這了,更多相關SpringBoot實現文件上傳和訪問內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
在线视频国内自拍亚洲视频| 99热在这里有精品免费| 日韩欧美在线网站| 国产精品高潮呻吟久久| 日韩av电影天堂| yourporn久久国产精品| 欧美一区永久视频免费观看| 亚洲精品国产高清久久伦理二区| 国内精品伊人久久久久av一坑| 91色在线porny| 噜噜噜久久亚洲精品国产品小说| 精品少妇一区二区三区在线播放| 一区二区在线观看免费视频播放| 影音欧美亚洲| 4438成人网| 一区二区三区四区中文字幕| 国产成人免费网站| 亚洲国内在线| 日韩欧美国产一二三区| 一区二区在线观看视频| 一本一道久久综合狠狠老精东影业| 日韩欧美综合在线| 国产精品亚洲专一区二区三区 | 偷拍一区二区三区四区| 大白屁股一区二区视频| 亚洲一区bb| 久久精品视频在线免费观看| 亚洲午夜一区二区三区| 91免费国产在线| 国产欧美一区二区三区鸳鸯浴| 看电视剧不卡顿的网站| 18成人免费观看视频| 亚洲欧洲制服丝袜| www.欧美亚洲| 国产欧美一区二区三区沐欲| 欧美精品网站| 欧美一区二区三区日韩视频| 国产成人在线观看免费网站| 亚洲精品一区在线观看| 免费成人小视频| 一本一本久久| 亚洲一区二区三区免费视频| 午夜精品免费| 亚洲色欲色欲www| 91香蕉视频mp4| 国产精品精品国产色婷婷| 国产婷婷精品| 国产精品美女www爽爽爽| 岛国av在线一区| 久久综合久久综合九色| 国产自产v一区二区三区c| 91精品国产麻豆国产自产在线 | 欧美一区三区四区| 欧美一区激情| 91精品视频网| 99re66热这里只有精品3直播| 欧美精品久久久久久久多人混战| 亚洲成人手机在线| 亚洲区第一页| 天天免费综合色| 制服丝袜av成人在线看| 欧美va天堂在线| 亚洲国产乱码最新视频 | 久久成人国产| 亚洲日本成人在线观看| 久久国产精品久久久久久电车| 国产在线不卡视频| 在线视频国产一区| 国产一区欧美一区| 国产欧美日韩亚州综合| 亚洲尤物在线| 国产一区二区福利| 国产清纯白嫩初高生在线观看91 | 国产欧美一区视频| 午夜亚洲一区| 国产成人在线视频网站| 亚洲丝袜自拍清纯另类| 色婷婷av一区二区三区大白胸 | 亚洲香蕉网站| 国产精品国产自产拍在线| 亚洲一区三区电影在线观看| 精品一区二区精品| 欧美日韩一区二区在线观看| 麻豆精品一区二区av白丝在线| 91福利在线导航| 日韩中文字幕亚洲一区二区va在线 | 日韩欧美一二三| 亚洲成人资源| 国产资源在线一区| 国产精品的网站| 欧美日韩黄视频| 韩国一区二区三区| 国产欧美日韩三区| 欧美日韩在线播放三区| 欧美午夜欧美| 最新欧美精品一区二区三区| 影音先锋久久| 美女一区二区三区在线观看| 日本一区二区三级电影在线观看| 在线观看日韩高清av| 国产精品分类| 一区二区三区欧美激情| 欧美精品三级在线观看| 伊人精品在线| 国产成人在线网站| 亚洲综合av网| 精品国产网站在线观看| 色94色欧美sute亚洲13| 激情欧美亚洲| 成人h精品动漫一区二区三区| 久久久久国产精品麻豆ai换脸| 欧美午夜精品理论片a级大开眼界| 麻豆国产精品视频| 亚洲女子a中天字幕| 日韩欧美一区二区视频| 久久精品女人天堂| 激情久久久久久| 高清成人免费视频| 欧美国产禁国产网站cc| 在线观看视频日韩| 国产一区二区成人久久免费影院 | 婷婷中文字幕一区三区| 中文字幕av一区二区三区免费看 | 欧美在线高清| 国产精品18久久久久久vr| 亚洲综合一二三区| 国产日韩精品久久久| 欧美日韩电影一区| 美女精品在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| jiyouzz国产精品久久| 精品在线你懂的| 亚洲va欧美va国产va天堂影院| 国产欧美精品在线观看| 宅男噜噜噜66一区二区66| 久久久久.com| 国产精品88888| 日韩激情av在线| 亚洲男女一区二区三区| 久久青草欧美一区二区三区| 欧美日韩国产美女| 老**午夜毛片一区二区三区| 欧美精品国产一区二区| 成人av在线资源网| 国精产品一区一区三区mba桃花 | 日本一区二区三区久久久久久久久不 | 成人精品免费看| 国产一区二区在线视频| 日本成人在线一区| 亚洲国产精品影院| 亚洲欧美精品午睡沙发| 国产精品热久久久久夜色精品三区| 欧美精品一区二区三区高清aⅴ | 一区二区三区精品国产| 欧美.www| 91影院在线免费观看| 国产成人亚洲综合a∨猫咪| 麻豆免费精品视频| 丝袜国产日韩另类美女| 亚洲国产综合色| 一区二区三区欧美久久| 一区二区三区在线视频观看58| 亚洲毛片av在线| 亚洲精品成人a在线观看| 一区二区三区欧美亚洲| 伊人一区二区三区| 亚洲乱码国产乱码精品精小说 | 久久天天做天天爱综合色| 精品国产伦一区二区三区观看方式| 欧美一区二区精美| 日韩亚洲欧美高清| 日韩三级电影网址| 日韩欧美国产一区二区三区 | 图片区小说区国产精品视频| 亚洲福利视频一区| 日韩精品电影在线| 日韩成人一区二区三区在线观看| 日本中文字幕不卡| 麻豆精品久久久| 久草中文综合在线| 精品亚洲成a人在线观看| 狠狠色狠狠色综合| 国产一区二区0| 国产精品伊人色| 国产成人精品影院| 不卡电影免费在线播放一区| 91视视频在线观看入口直接观看www| 95精品视频在线| 国产精品啊啊啊| 日韩午夜av在线| 国产不卡在线视频| 国产电影一区二区三区| 成人av网站大全| 欧美一区激情| 亚洲国产婷婷香蕉久久久久久99| 在线视频一区观看| 色综合久久久久| 欧美久久久久久久久久| 欧美电影免费提供在线观看| 国产欧美中文在线|