欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?Boot項(xiàng)目獲取resources目錄下文件并返回給前端的方案

 更新時(shí)間:2024年07月20日 14:35:21   作者:夢(mèng)幻D開始  
我們?cè)陧?xiàng)目中經(jīng)常碰到需要讀取固定文件的場(chǎng)景,如模板文件,一般做法是將文件放在resources目錄下,程序通過多種方式可以順利讀取文件,這篇文章主要給大家介紹了關(guān)于Spring?Boot項(xiàng)目獲取resources目錄下文件并返回給前端的相關(guān)資料,需要的朋友可以參考下

前言

最近項(xiàng)目需要下載一個(gè)模板文件用來修改上傳,模板文件放在Spring Boot項(xiàng)目中resources文件夾下。功能就是獲取這個(gè)文件然后下載。解決的主要問題就是因?yàn)榇虺鰜硎且粋€(gè)jar包,運(yùn)行的時(shí)候就是相當(dāng)于從jar包里面的目錄獲取這個(gè)文件。

方案

其實(shí)總共有三種方式。

1.getResourceAsStream

這個(gè)是Class對(duì)象的方法,利用類加載器查找。

InputStream input = getClass().getResourceAsStream("/template/template.xlsx");

2.ResourceLoader

這是Spring Boot提供的解析類,通過解析獲取org.springframework.core.io.Resource對(duì)象,可以通過添加classpath:拿到resources具體文件。

@Autowired
private ResourceLoader resourceLoader;
public void test() {
	Resource resource = resourceLoader.getResource("classpath:/template/template.xlsx");
	Files.readAllBytes(Paths.get(resource.getURI())
	//...
}

3.@Value配合Resource

這個(gè)是目前使用的方式,其實(shí)跟第2種差不多,就是拿到Resource 解析

@Value("classpath:/template/template.xlsx")
private Resource template;
public void test() {
	Files.readAllBytes(Paths.get(template.getURI())
	//...
}

總結(jié) 

到此這篇關(guān)于Spring Boot項(xiàng)目獲取resources目錄下文件并返回給前端的文章就介紹到這了,更多相關(guān)SpringBoot獲取resources目錄文件并返回前端內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java初始化List方法代碼實(shí)例

    Java初始化List方法代碼實(shí)例

    這篇文章主要介紹了Java初始化List方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java中的static關(guān)鍵字你了解多少

    Java中的static關(guān)鍵字你了解多少

    這篇文章主要為大家詳細(xì)介紹了Java中的static關(guān)鍵字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Flutter實(shí)現(xiàn)文本組件、圖標(biāo)及按鈕組件的代碼

    Flutter實(shí)現(xiàn)文本組件、圖標(biāo)及按鈕組件的代碼

    這篇文章主要介紹了Flutter實(shí)現(xiàn)文本組件、圖標(biāo)及按鈕組件的代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • IDEA的基本使用(讓你的IDEA有飛一般的感覺)

    IDEA的基本使用(讓你的IDEA有飛一般的感覺)

    這篇文章主要介紹了IDEA的基本使用(讓你的IDEA有飛一般的感覺),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java基于redis和mysql實(shí)現(xiàn)簡單的秒殺(附demo)

    Java基于redis和mysql實(shí)現(xiàn)簡單的秒殺(附demo)

    這篇文章主要介紹了Java基于redis和mysql實(shí)現(xiàn)簡單的秒殺(附demo),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 基于SpringBoot使用MyBatis插件的問題

    基于SpringBoot使用MyBatis插件的問題

    MyBatis-Plus并不能為我們解決所有問題,例如一些復(fù)雜的SQL,多表聯(lián)查,我們就需要自己去編寫代碼和SQL語句,我們?cè)撊绾慰焖俚慕鉀Q這個(gè)問題呢,這個(gè)時(shí)候可以使用MyBatisX插件,今天小編給大家?guī)砹薙pringBoot使用MyBatis插件問題,感興趣的朋友一起看看吧
    2022-03-03
  • 深入解析Andoird應(yīng)用開發(fā)中View的事件傳遞

    深入解析Andoird應(yīng)用開發(fā)中View的事件傳遞

    這篇文章主要介紹了深入解析Andoird應(yīng)用開發(fā)中View的事件傳遞,其中重點(diǎn)講解了ViewGroup的事件傳遞流程,需要的朋友可以參考下
    2016-02-02
  • Java之Arrays的各種功能和用法總結(jié)

    Java之Arrays的各種功能和用法總結(jié)

    數(shù)組在?Java?中是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和操作大量數(shù)據(jù)。Arrays?是我們?cè)谔幚頂?shù)組時(shí)的一把利器。它提供了豐富的方法和功能,使得數(shù)組操作變得更加簡單、高效和可靠。接下來我們一起看看?Arrays?的各種功能和用法,,需要的朋友可以參考下
    2023-05-05
  • Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    LogFactory來自common-logging包。如果用LogFactory.getLog,你可以用任何實(shí)現(xiàn)了通用日志接口的日志記錄器替換log4j,而程序不受影響
    2013-09-09
  • SpringBoot定時(shí)任務(wù)兩種(Spring Schedule 與 Quartz 整合 )實(shí)現(xiàn)方法

    SpringBoot定時(shí)任務(wù)兩種(Spring Schedule 與 Quartz 整合 )實(shí)現(xiàn)方法

    本篇文章主要介紹了SpringBoot定時(shí)任務(wù)兩種(Spring Schedule 與 Quartz 整合 )實(shí)現(xiàn)方法,詳細(xì)的介紹了Spring Schedule 與 Quartz 整合的兩種方法,有興趣的可以了解一下。
    2017-03-03

最新評(píng)論