SpringBoot项目中获取resources下静态文件时遇到的坑及解决
更新时间:2024年11月21日 08:44:57 作者:齐 飞
文章总结:在项目中使用静态图片时,遇到jar包部署到linux服务器报错的问题,解决方法包括将图片上传到服务器指定文件夹或使用ClassPathResource读取,前者需要维护,后者更方便
问题
在项目中需要使用到静态图片,将静态图片放在resources文件夹下。
本地使用this.getClass().getResource()
读取静态图片一切正常,成功读取到静态图片。
但是将项目打jar包部署到linux服务器时发送报错,
打印发现路径为:
file:/shop-1.0-SNAPSHOT.jar!/BOOT-INF/classes!/static/color.png
解决方法
1. 上传到服务器指定的文件夹下
可以将图片等需要读取的静态文件放到服务器指定的文件夹下 进行读取。
缺点就是需要进行维护,在不同的环境发布到不同的服务器上,每个服务器中都要上传一份;如果误删或者迁移项目忘记迁移这个文件就麻烦了。
2. 使用ClassPathResource读取
ClassPathResource classPathResource = new ClassPathResource("/static/color.png"); InputStream inputStreamImg = classPathResource.getInputStream(); BufferedImage bmp = ImageIO.read(inputStreamImg);
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
spring-cloud入门之spring-cloud-config(配置中心)
这篇文章主要介绍了spring-cloud入门之spring-cloud-config(配置中心),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-01-01SpringBoot application.yml和bootstrap.yml的区别
本文主要介绍了SpringBoot application.yml和bootstrap.yml的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-04-04详解springboot采用多数据源对JdbcTemplate配置的方法
在本篇文章中我们给大家详细分享了springboot采用多数据源对JdbcTemplate配置的方法,有需要的朋友们可以学习参考下。2018-10-10
最新评论