Springboot 解决linux服务器下获取不到项目Resources下资源

简介: Springboot 解决linux服务器下获取不到项目Resources下资源

背景

Springboot 项目中,我们获取Resources下资源,可以通过一般代码实现,但是当部署到linux服务器后,发现获取不了文件的路径,此时用下面的获取代码就可以完美解决。别忘记了加依赖哈。


解决方案:

依赖:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.7</version>
</dependency>

读取资源代码:

 public void getSignOutQrCode(String id, HttpServletResponse response) throws Exception {
        String text = QrCodeParamUtils.XFLL_QRCODE_1 + id + "_" + System.currentTimeMillis();
        //1.获取文件流
        InputStream stream = getClass().getClassLoader().getResourceAsStream("static/SignOut.png");
        //2.获取临时文件
        File file= new File("static/SignOut.png");
        try {
            //将读取到的类容存储到临时文件中,后面就可以用这个临时文件访问了
            FileUtils.copyInputStreamToFile(stream, file);
        } catch (Exception e) {
            log.error(e.getMessage());
        }
        //3.这个时候再去获取资源的文件路径 就可以正常获取了
        String filePath = file.getAbsolutePath();
        //String logoPath = Thread.currentThread().getContextClassLoader().getResource("").getPath() + "static/SignOut.png";
        QrCodeUtils.encode(text, filePath , response.getOutputStream(), true);
    }

这样写就可以正常通过浏览器访问了。

相关文章
|
10天前
|
Java 应用服务中间件 Maven
Spring Boot项目打war包(idea:多种方式)
Spring Boot项目打war包(idea:多种方式)
33 1
|
3天前
|
存储 弹性计算 监控
【阿里云弹性计算】阿里云 ECS 性能优化秘籍:提升应用响应速度与资源利用率
【5月更文挑战第22天】阿里云ECS优化涉及实例规格选择、OS与应用配置、网络配置、存储优化及数据库连接池管理。合理挑选CPU和内存,关闭无关服务,利用EIP和负载均衡优化网络,选择合适存储类型,并通过监控工具进行性能分析和压力测试,以提升响应速度,优化资源利用率,降低成本,增强企业竞争力。示例展示了Java数据库连接池配置优化。通过持续探索和实践,可最大化发挥ECS潜力。
66 7
|
9天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的科研项目验收管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的科研项目验收管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的创新创业教育中心项目申报管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的创新创业教育中心项目申报管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的教学资源库的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的教学资源库的设计与实现(源码+lw+部署文档+讲解等)
|
4天前
|
IDE Linux 测试技术
Linux项目自动化构建工具-make/Makefile
Linux项目自动化构建工具-make/Makefile
|
4天前
|
安全 JavaScript Java
装饰工程|装饰工程管理系统-项目立项子系统的设计与实现|基于Springboot的装饰工程管理系统设计与实现(源码+数据库+文档)
装饰工程|装饰工程管理系统-项目立项子系统的设计与实现|基于Springboot的装饰工程管理系统设计与实现(源码+数据库+文档)
12 0
|
8天前
|
前端开发 JavaScript Java
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
|
10天前
|
消息中间件 JSON Java
RabbitMQ的springboot项目集成使用-01
RabbitMQ的springboot项目集成使用-01