前言
最近项目需要下载一个模板文件用来修改上传,模板文件放在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目录文件并返回前端内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论