上传文件到springboot的资源文件夹

2019-11-10  本文已影响0人  topshi

坑:今天踩了坑,我上传到static下videos文件夹的文件,在浏览器访问不到,思前想后发现是项目没有刷新。
代码

private final String SAVE_PATH = "src\\main\\resources\\static\\videos" ;

byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
Path path = Paths.get(SAVE_PATH, file.getOriginalFilename());
Files.write(path, bytes);

访问资源

http://pichub.zicp.vip/videos/{filename}

解决的方法
配置资源处理器作虚拟映射

@Configuration
public class ResourceHanlderConfig  implements WebMvcConfigurer{
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/videos/**").addResourceLocations("file:src\\main\\resources\\static\\videos\\");
    }
}

资源处理器主要是要做项目代码和资源文件夹的分离,可以将资源文件夹设置到项目之外的某个地方,避免资源被编译到项目中,正是因编译的关系,导致文件访问时是基于编译后的项目访问,当新上传了文件因其未被编译到项目中,因此无法识别。

上一篇 下一篇

猜你喜欢

热点阅读