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 @ 2022-08-19 15:30  莴苣&  阅读(421)  评论(0编辑  收藏  举报