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