当前位置:   article > 正文

Spring Boot项目获取resources目录下的文件并返回给前端_springboot 读取resource下的excel导出

springboot 读取resource下的excel导出

学无止境,气有浩然!

新开通公众号,欢迎大家关注,后续会持续分享技术和相关资料
在这里插入图片描述


前言

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


方案

其实总共有三种方式。

1.getResourceAsStream

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

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

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())
	//...
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.@Value配合Resource

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

打完收工!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/815889
推荐阅读
相关标签
  

闽ICP备14008679号