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");
这是我的解决方案,如果大家有其他方法欢迎在下方评论区留言讨论!