在SpringBoot项目开发中,关于静态资源文件的读取有一些需要特别注意的地方,否则在后期服务器部署会存在不少问题,做此记录,以供参考。
对于静态资源文件的读取,一般常规的方法会采用ResourceUtils工具类,通过代码
File targetFile= ResourceUtils.getFile("classpath:static"+File.separator+xxx) ;
完成读取所需文件,但根据最近实际开发操作发现,采用这种方法读取静态资源会在centOS系统失效,造成访问异常,具体原因请自行查询。
针对上述问题,我们可以采用ClassPathResource方式进行实现,通过以下代码进行实现:
Resource resource = new ClassPathResource("static"+File.separator+"xxx"");
File file = resource.getFile();
如果获取文件流的话,可以通过以下代码实现:
ClassPathResource resource = new ClassPathResource("static"+File.separator+"xxx");
InputStream in = resource .getInputStream();
技术仅为实现,开发重在思考!