一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 基于Springboot2.3訪問本地路徑下靜態資源的方法(解決報錯:Not allowed to load local resource)

基于Springboot2.3訪問本地路徑下靜態資源的方法(解決報錯:Not allowed to load local resource)

2020-08-13 00:14Verm?celli丶 Java教程

這篇文章主要介紹了基于Springboot2.3訪問本地路徑下靜態資源的方法(解決報錯:Not allowed to load local resource),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學

最近在做的一個項目中有一個比較奇葩的需求:

要在springboot中,上傳本地的圖片進行展示

我的第一反應是,直接在數據庫字段加一個存儲本地路徑的字段,然后用thymeleaf的th:src渲染到前端就好了嘛!

理想很豐滿,但現實卻很骨感~

前端報了這樣的錯誤Not allowed to load local resource

基于Springboot2.3訪問本地路徑下靜態資源的方法(解決報錯:Not allowed to load local resource)

于是我想到了可以使用IO將圖片先上傳到static/images目錄下,這樣就不會出現禁止訪問本地路徑的問題了

但是這樣實現,問題又來了:上傳后的圖片必須重啟springboot,才能進行展示,否則無法加載

這個應該是因為springboot在初始化時加載靜態資源,運行時導入的資源只能在再次初始化時加載

于是,我苦思冥想,查閱了多方資料,終于使用本地虛擬路徑的方式,解決了這個問題

正片開始:

1.首先配置一個配置類

?
1
2
3
4
5
6
7
8
9
10
11
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
@Configuration
public class MyConfigurer implements WebMvcConfigurer {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/image/**").addResourceLocations("file:E:/vote_images/");
  }
}

addResourceHandler是指你設置的虛擬路徑,前端展示頁面時填入這個路徑來進行訪問

addResourceLocations是指實際的本地路徑,你需要代理給虛擬路徑來訪問的路徑

2. IO實現文件上傳

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//如果文件夾不存在,創建文件夾
File file=new File("E:\\vote_images");
if(!file.exists()){
  file.mkdir();
}
//文件的上傳
try (InputStream input = new FileInputStream(new File(judge));
   OutputStream output = new FileOutputStream("E:\\vote_images\\" + num + ".jpg")
   ) {
  byte[] buf = new byte[1024];
  int bytesRead;
  while ((bytesRead = input.read(buf)) != -1) {
    output.write(buf, 0, bytesRead);
  }
} catch (IOException e) {
  e.printStackTrace();
}
//設置路徑字段
o.setPath("\\image\\" + (num++) + ".jpg");
//增加數據
optionsService.insert(o);

3.前端渲染頁面

?
1
<img height="150px" width="225px" th:src="@{${opt.getPath()}}">

這樣就成功實現需求啦

到此這篇關于基于Springboot2.3訪問本地路徑下靜態資源的方法的文章就介紹到這了,更多相關Springboot2.3訪問本地靜態資源內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/YzVermicelli/article/details/106618800

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99九九精品免费视频观看 | 欧美8x8x| 国产成人精品视频一区 | 精品网站一区二区三区网站 | 国产青青草 | 成人性生交大片免费看软件 | 亚洲第成色999久久网站 | 四虎影院在线免费观看视频 | 久青草国产观看在线视频 | 4444亚洲国产成人精品 | 免费观看一级欧美在线视频 | 99国产国人青青视频在线观看 | 好骚好紧| 亚洲国产精品免费在线观看 | 欧美四级无删版影片 | 日韩无砖专区2020在线 | 秋霞啪啪网| 日韩视频一区二区三区 | 日本福利网 | ffyybb免费福利视频 | 91精品综合 | 亚洲AV人无码综合在线观看蜜桃 | 精品国产视频 | 亚洲大片在线观看 | 国产第一综合另类色区奇米 | 国产成人高清视频 | 亚洲日本中文字幕天堂网 | 奇米影视在线视频 | 日韩网站在线 | 国产一区二区在线观看视频 | 白丝爆动漫羞羞动漫网站 | 日韩欧美精品一区二区 | 国产农村乱子伦精品视频 | 亚洲精品视频免费在线观看 | 亚洲高清中文字幕一区二区三区 | 男人猛戳女人下部30分钟 | 百合女女师生play黄肉黄 | 国产激情视频网站 | 窝窝色资源站 | 久久黄色大片 | 国产亚洲高清国产拍精品 |