当前位置: 代码网 > it编程>编程语言>Java > SpringBoot项目中获取resources下静态文件时遇到的坑及解决

SpringBoot项目中获取resources下静态文件时遇到的坑及解决

2024年11月25日 Java 我要评论
问题在项目中需要使用到静态图片,将静态图片放在resources文件夹下。本地使用this.getclass().getresource()读取静态图片一切正常,成功读取到静态图片。但是将项目打jar

问题

在项目中需要使用到静态图片,将静态图片放在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);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com