java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot获取resources目录文件并返回前端

Spring Boot项目获取resources目录下文件并返回给前端的方案

作者:梦幻D开始

我们在项目中经常碰到需要读取固定文件的场景,如模板文件,一般做法是将文件放在resources目录下,程序通过多种方式可以顺利读取文件,这篇文章主要给大家介绍了关于Spring Boot项目获取resources目录下文件并返回给前端的相关资料,需要的朋友可以参考下

前言

最近项目需要下载一个模板文件用来修改上传,模板文件放在Spring Boot项目中resources文件夹下。功能就是获取这个文件然后下载。解决的主要问题就是因为打出来是一个jar包,运行的时候就是相当于从jar包里面的目录获取这个文件。

方案

其实总共有三种方式。

1.getResourceAsStream

这个是Class对象的方法,利用类加载器查找。

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

2.ResourceLoader

这是Spring Boot提供的解析类,通过解析获取org.springframework.core.io.Resource对象,可以通过添加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

这个是目前使用的方式,其实跟第2种差不多,就是拿到Resource 解析

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

总结 

到此这篇关于Spring Boot项目获取resources目录下文件并返回给前端的文章就介绍到这了,更多相关SpringBoot获取resources目录文件并返回前端内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文