您好,登錄后才能下訂單哦!
本篇文章為大家展示了SpringBoot中靜態(tài)資源訪問配置以及內(nèi)置tomcat虛擬文件映射路徑是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
@Configuration @EnableWebMvc public class StaticResourceConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } }
@Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/image/**").addResourceLocations("file:C:/image/"); } }
把文件獨(dú)立出來放到其他盤符,比如我的服務(wù)在 /server
文件放到 /data
中
通常情況下放到對(duì)應(yīng)項(xiàng)目的 webapps
下的文件才能正常訪問,現(xiàn)在我需要訪問E盤中的內(nèi)容,這時(shí)候我就需要 自定義靜態(tài)資源映射
實(shí)現(xiàn)類繼承 WebMvcConfigurerAdapter
并重寫方法 addResourceHandlers
,代碼如下
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration public class FileServerConfig extends WebMvcConfigurerAdapter { @Value("${local.fileserver.dir}") private String localFileServerDir; @Value("${local.fileserver.path}") private String localFileServerPath; //訪問圖片方法 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/" + this.getLocalFileServerPath() + "/**").addResourceLocations("file:" + this.getLocalFileServerDir() + "/"); // 本地文件夾要以"flie:" 開頭,文件夾要以"/" 結(jié)束,example: //registry.addResourceHandler("/abc/**").addResourceLocations("file:D:/pdf/"); super.addResourceHandlers(registry); } /** * 文件實(shí)際路徑轉(zhuǎn)為服務(wù)器url路徑 * @param absolutePath * @return */ public String toServerPath(String absolutePath) { absolutePath = absolutePath.replaceAll("\\\\", "/"); return "/" + absolutePath.replace(localFileServerDir, localFileServerPath); } public String getLocalFileServerDir() { return localFileServerDir; } public void setLocalFileServerDir(String localFileServerDir) { this.localFileServerDir = localFileServerDir; } public String getLocalFileServerPath() { return localFileServerPath; } public void setLocalFileServerPath(String localFileServerPath) { this.localFileServerPath = localFileServerPath; } }
注意:本地文件夾要以"flie:" 開頭,文件夾要以"/" 結(jié)束,example:
registry.addResourceHandler("/pdf/**").addResourceLocations("file:D:/pdf/");
意思是你的服務(wù)器路徑 serverdata
對(duì)應(yīng)你本地的 /data
目錄這時(shí)你的,假如要訪問 /data/test.jpg
圖片,對(duì)應(yīng)的服務(wù)器路徑為 http://localhost:serverdata/test.jpg
上述內(nèi)容就是SpringBoot中靜態(tài)資源訪問配置以及內(nèi)置tomcat虛擬文件映射路徑是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。