传统项目中,我们的文件会上传至项目文件夹中,但是springBoot项目进行打包后,文件上传会改变jar包大小,不好维护,所以讲文件上传至服务器本地路径下,再通过项目虚拟路径直接读取本地路径下的内容,话不多说,我们开始
1、在配置文件 application.properties 中进行配置,如下图,file.staticAccessPath—就是项目的虚拟路径,该路径可直接映射本地磁盘路径,file.uploadFolder----就是本地磁盘路径(即文件上传的路径)
代码如下:
#静态资源对外暴露的访问路径
file.staticAccessPath=/uploadImgs/**
#文件上传目录(注意Linux和Windows上的目录结构不同)
#file.uploadFolder=/home/upload/
file.uploadFolder=d://public/
2、配置资源映射路径,如下图所示:
代码如下:
@Configuration
public class UploadFilePathConfig extends WebMvcConfigurerAdapter {
@Value("${file.staticAccessPath}")
private String staticAccessPath;
@Value("${file.uploadFolder}")
private String uploadFolder;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(staticAccessPath).addResourceLocations("file:" + uploadFolder);
}
}
3、进行测试,图片上传,将图片上传至 d://public/ 路径下(或者为了简便,直接将图片放至该目录下),如下图所示:
4、在浏览器地址栏中直接写 项目路径 + 虚拟路径(uploadImgs)+图片名,进行访问。 我的项目地址是 “http://localhost:8080”, 所以我的访问路径是 “http://localhost:8080/uploadImgs/1000001382440188.jpg”,访问后如下图所示:
如有问题,请留言。