最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年08月12日 11:59:00   作者:Verm�celli丶  
這篇文章主要介紹了基于Springboot2.3訪問本地路徑下靜態(tài)資源的方法(解決報錯:Not allowed to load local resource),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

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

理想很豐滿,但現(xiàn)實卻很骨感~

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

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

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

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

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

正片開始:

1.首先配置一個配置類

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實現(xiàn)文件上傳

//如果文件夾不存在,創(chuàng)建文件夾
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");
//增加數(shù)據(jù)
optionsService.insert(o);

3.前端渲染頁面

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

這樣就成功實現(xiàn)需求啦

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

相關文章

  • Java jar打包工具使用方法步驟解析

    Java jar打包工具使用方法步驟解析

    這篇文章主要介紹了Java jar打包工具使用方法步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Java工具類DateUtils實例詳解

    Java工具類DateUtils實例詳解

    這篇文章主要為大家詳細介紹了Java工具類DateUtils實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Scala之Object的具體使用(小結)

    Scala之Object的具體使用(小結)

    這篇文章主要介紹了Scala之Object的具體使用(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • SWT(JFace)體驗之GridLayout布局

    SWT(JFace)體驗之GridLayout布局

    GridLayout 布局的功能非常強大,也是筆者常用的一種布局方式。GridLayout是網(wǎng)格式布局,它把父組件分成一個表格,默認情況下每個子組件占據(jù)一個單元格的空間,每個子組件按添加到父組件的順序排列在表格中。
    2009-06-06
  • 詳解如何在Spring?Security中自定義權限表達式

    詳解如何在Spring?Security中自定義權限表達式

    這篇文章主要和大家詳細介紹一下如何在Spring?Security中自定義權限表達式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-07-07
  • Java?NIO?通道概念選擇器使用示例詳解

    Java?NIO?通道概念選擇器使用示例詳解

    這篇文章主要為大家介紹了Java?NIO?通道概念選擇器使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Java中斷線程的方法

    Java中斷線程的方法

    這篇文章主要介紹了Java中斷線程的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • 淺談Java中IO和NIO的本質和區(qū)別

    淺談Java中IO和NIO的本質和區(qū)別

    IO的全稱是input output,是java程序跟外部世界交流的橋梁,IO指的是java.io包中的所有類,他們是從java1.0開始就存在的。NIO叫做new IO,是在java1.4中引入的新一代IO。IO的本質是什么呢?它和NIO有什么區(qū)別呢?我們該怎么學習IO和NIO呢?看完這篇文章一切都有答案。
    2021-06-06
  • Java作用域、訪問修飾符詳解

    Java作用域、訪問修飾符詳解

    文章詳細解釋了Java中的作用域和訪問修飾符,包括變量和方法的作用域,以及四種訪問修飾符(public、protected、默認、private)的使用規(guī)則和可見性范圍
    2025-02-02
  • spring/springboot整合curator遇到的坑及解決

    spring/springboot整合curator遇到的坑及解決

    這篇文章主要介紹了spring/springboot整合curator遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論

南康市| 九江县| 万州区| 正定县| 湘西| 古丈县| 甘洛县| 日土县| 利津县| 峨边| 北安市| 肥东县| 安徽省| 昌平区| 宁南县| 星子县| 湖南省| 梅州市| 阳东县| 郁南县| 东方市| 池州市| 高台县| 永川市| 白城市| 洪泽县| 茶陵县| 乌鲁木齐县| 神木县| 宣化县| 铜鼓县| 县级市| 同德县| 屏东县| 定安县| 鲁甸县| 奉贤区| 天柱县| 屏南县| 五大连池市| 罗江县|