SpringBoot前端URL訪問本地磁盤文件

SpringBoot前端通過 URL訪問本地磁盤文件,其實就是 SpringBoot訪問web中的靜態資源的處理方式。

SpringBoot 訪問web中的靜態資源:https://blog.csdn.net/qq_42402854/article/details/90295079

首先,我們知道瀏覽器訪問本地磁盤文件的方式為:

在瀏覽器直接輸入:file:///+本地磁盤目錄或者磁盤文件全路徑

我們只需要在 Spring Boot中配置靜態資源的處理即可。

1、自定義配置類

將配置信息提取到配置文件,方便我們配置。

application.yml配置文件:自定義 file配置信息

# 文件上傳相關
file:bucketName: def_bucketlocal:enable: true
#    base-path: /home/app/ws_demo/ws-filesbase-path: D:/ws-files/uploadbaseUrl: http://127.0.0.1:19090/ws/profile

自定義 file配置類:

@Data
@Component
@ConfigurationProperties(prefix = "file")
public class FileProperties {/*** 默認的存儲桶名稱*/private String bucketName = "bucketName";/*** 本地文件配置信息*/private LocalFileProperties local;}
/*** 本地文件 配置信息*/
@Data
@Component
@ConfigurationProperties(prefix = "local")
public class LocalFileProperties {/*** 是否開啟*/private boolean enable;/*** 默認磁盤根路徑*/private String basePath;/*** 默認文件URL前綴*/private String baseUrl;}

2、添加靜態資源映射

在配置類中添加靜態資源映射。

/*** WebMvc 配置類*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {@Autowiredprivate FileProperties fileProperties;/*** 配置靜態資源訪問映射** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");//  swagger-bootstrap-ui依賴registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");//本地文件上傳路徑registry.addResourceHandler("/profile/**") // 自定義URL訪問前綴,和file配置一致.addResourceLocations(String.format("%s/%s/", "file:", fileProperties.getLocal().getBasePath()));}}

3、前端通過 URL訪問

本地文件:

在這里插入圖片描述

啟動項目,瀏覽器訪問 URL接口。

在這里插入圖片描述

– 求知若饑,虛心若愚。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/22801.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/22801.shtml
英文地址,請注明出處:http://en.pswp.cn/web/22801.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LLM的基礎模型5:Embedding模型

大模型技術論文不斷,每個月總會新增上千篇。本專欄精選論文重點解讀,主題還是圍繞著行業實踐和工程量產。若在某個環節出現卡點,可以回到大模型必備腔調或者LLM背后的基礎模型新閱讀。而最新科技(Mamba,xLSTM,KAN)則提…

面試高頻問題----4

一、redis和mysql一致性怎么保證? 1.編寫刪除緩存的接口,在更新數據庫的同時,調用刪除緩存的接口刪除緩存中的數據。 2.消息隊列:ActiveMQ、消息通知;將更新操作發送到消息隊列中,順序更新mysql和redis。…

三十七、openlayers官網示例Earthquakes Heatmap解析——在地圖上加載熱力圖

官網demo地址: Earthquakes Heatmap 這篇主要介紹了熱力圖HeatmapLayer HeatmapLayer 是一個用于在地圖上顯示熱力圖的圖層類型,通常用于表示地理數據中的密度或強度。例如,它可以用來顯示地震、人口密度或其他空間數據的熱點區域。在這個示…

Siemens-NXUG二次開發-創建倒斜角特征、邊倒圓角特征、設置對象顏色、獲取面信息[Python UF][20240605]

Siemens-NXUG二次開發-創建倒斜角特征、邊倒圓角特征、設置對象顏色、獲取面信息[Python UF][20240605] 1.python uf函數1.1 NXOpen.UF.Modeling.AskFaceData1.2 NXOpen.UF.Modeling.CreateChamfer1.3 NXOpen.UF.ModlFeatures.CreateBlend1.4 NXOpen.UF.Obj.SetColor 2.實體目標…

lib庫和dll庫的介紹和使用

lib(靜態庫) 靜態庫定義:.lib文件是靜態庫文件,包含了在編譯時被鏈接到目標程序的代碼。使用靜態庫時,庫的代碼會被復制到最終生成的可執行文件中。優點: 性能:由于庫代碼在編譯時就被集成到可…

分布式架構與分布式理論

文章目錄 分布式架構什么是分布式系統分布式系統特性分布式系統面臨的問題 分布式理論數據一致性CAP理論BASE理論 分布式架構 什么是分布式系統 分布式系統是一個硬件或軟件組件分布在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統。 所謂分…

Vue的APP實現下載文件功能,并將文件保存到手機中

Vue的APP實現下載文件功能,并將文件保存到手機中 文字說明后臺核心代碼前臺核心代碼運行截圖項目鏈接 文字說明 本文介紹Vue實現的APP,將文件下載并保存到手機中,為系統提供導出功能;同時支持導入,即選擇本地的文件后&…

Ubuntu18.04 文件管理器無法打開的解決方法

問題:打開Ubuntu虛擬機發現文件管理器無法打開,一直在轉圈圈 在終端中輸入 nautilus 顯示如下信息 nautilus: symbol lookup error: /usr/lib/x86_64-linux-gnu/tracker-2.0/libtracker-data.so.0: undefined symbol: sqlite3_bind_pointer 解決措施&#xff1a…

LabVIEW 反向工程的實現與法律地位

什么是LabVIEW反向工程? 反向工程是指從現有的應用程序或軟件中推導出其設計、架構、代碼等信息的過程。對于LabVIEW而言,反向工程涉及從現有的VI(虛擬儀器)文件、項目或應用程序中提取出設計思路、功能模塊、算法實現等。 LabV…

Spring Boot整合Jasypt 庫實現配置文件和數據庫字段敏感數據的加解密

😄 19年之后由于某些原因斷更了三年,23年重新揚帆起航,推出更多優質博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志 🎐 個人CSND主頁——Mi…

代碼隨想錄第二十九天打卡| 491.遞增子序列,46.全排列,47.全排列 II

491.遞增子序列 本題和大家剛做過的 90.子集II 非常像,但又很不一樣,很容易掉坑里。 代碼隨想錄 視頻講解:回溯算法精講,樹層去重與樹枝去重 | LeetCode:491.遞增子序列_嗶哩嗶哩_bilibili class Solution { public:…

好用軟件推薦

軟件功能相關介紹地址FastStone截圖(長截圖、定時截圖等)CSDNhttps://www.faststone.org/FSCaptureDownload.htmQuicker快捷訪問https://getquicker.net/https://getquicker.net/

大數據學習問題記錄

問題記錄 node1突然無法連接finalshell node1突然無法連接finalshell 今天我打開虛擬機和finalshell的時候,發現我的node1連接不上finalshell,但是node2、node3依舊可以鏈接,我在網上找了很多方法,但是是關于全部虛擬機連接不上finalshell&a…

統一返回響應

前言 我們為什么要設置統一返回響應 提高代碼的可維護性:通過統一返回請求的格式,可以使代碼更加清晰和易于維護,減少重復的代碼,提高代碼質量。 便于調試和測試:統一的返回格式使得在調試和測試時更為簡單&#xff…

大模型時代,是 Infra 的春天還是冬天?

Highlights 大模型時代元年感悟 Scaling Laws 是大模型時代的摩爾定律,是最值得研究的方向 LLM 發展的三個階段: 算法瓶頸 -> 數據瓶頸 -> Infra 瓶頸 為什么 GPT 一枝獨秀, BERT、T5 日落西山? 大模型時代,是大部分 Infra 人的冬天,少部分 Infra 人的春天(算法研…

算法金 | 一文讀懂K均值(K-Means)聚類算法

?大俠幸會,在下全網同名[算法金] 0 基礎轉 AI 上岸,多個算法賽 Top [日更萬日,讓更多人享受智能樂趣] 1. 引言 數據分析中聚類算法的作用 在數據分析中,聚類算法用于發現數據集中的固有分組,通過將相似對象聚集在一…

Qt——前言

一、Qt介紹 ? **Qt技術特指用來桌面應用開發;**客戶端開發的重要任務就是編寫和用戶交互的界面;而與用戶交互的界面有兩種典型風格,1.命令行界面/終端界面,TUI;2.圖形化界面,GUI; ? Qt就是用…

統一響應,自定義校驗器,自定義異常,統一異常處理器

文章目錄 1.基本準備(構建一個SpringBoot模塊)1.在A_universal_solution模塊下創建新的子模塊unified-processing2.pom.xml引入基本依賴3.編寫springboot啟動類4.啟動測試 2.統一響應處理1.首先定義一個響應枚舉類 RespBeanEnum.java 每個枚舉對象都有co…

信息學奧賽初賽天天練-20-完善程序-vector數組參數引用傳遞、二分中值與二分邊界應用的深度解析

PDF文檔公眾號回復關鍵字:20240605 1 2023 CSP-J 完善程序1 完善程序(單選題,每小題 3 分,共計 30 分) 原有長度為 n1,公差為1等升數列,將數列輸到程序的數組時移除了一個元素,導致長度為 n 的開序數組…

云原生架構案例分析_5.某體育用品公司云原生架構的業務中臺構建

1.背景和挑戰 某體育用品公司作為中國領先的體育用品企業之一,在2016年,某體育用品公司啟動集團第三次戰略升級,打造以消費者體驗為核心的“3”(“互聯網”、“體育”和“產品”)的戰略目標,積極擁抱云計算…