SpringBoot项目中获取resources下静态文件时遇到的坑
问题
在项目中需要使用到静态图片,将静态图片放在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);
原文地址:https://blog.csdn.net/weixin_46425661/article/details/143185308
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!