springboot在class中获取resources中的静态资源

Can't read input file!

在一个springboot项目中,我直接在File中写入了 /static/images/hello.png 相对路径,然后就爆红了,找不到文件。

随后我直接在File中写了/tmp.txt,然后创建出这个文件,发现tmp.txt直接被创建到了F盘的根目录下,也就是说在项目中并没有定位resource目录为静态资源根目录。

思路:

  既然他没有将项目目录定位为根目录,那么就首先定位到项目目录,然后再去寻找静态资源。

解决方法:

  直接在方法里使用这个可以定位到静态资源,但是在我将项目部署到服务器上之后,便又是爆红,找不到文件!

1 this.getClass().getResource("/static/images/background.png").getPath();

  所以我有采用了下面这种方式,可以在windows系统以及linux系统都正常运行。

1 InputStream inputStream = this.getClass().getResourceAsStream("/static/images/background.png");

 

这是我的解决方案,如果大家有其他方法欢迎在下方评论区留言讨论!

posted @   莴苣&  阅读(451)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示