我们在上传文件的时候会指定一个服务器的路径,这个路径不能写死在代码中,所以我们会提取出来:
application.yml 那么上传之后怎么访问到文件呢?
我们需要将静态资源暴露出去,新建一个 MVC 配置类:
package com.lsu.file.controller.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * 文件上传配置 * * @Author wang suo * @Date 2020/10/17 0017 14:30 * @Version 1.0 */ @Configuration public class SpringMvcConfig implements WebMvcConfigurer { @Value("${file.path}") private String path; /** * SpringBoot 静态资源配置 * * @param registry 注册类 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/f/**").addResourceLocations("file:" + path); } //http://127.0.0.1:9000/file/f/teacher/Nz1H76bO-头像2.jpg }访问路径可以这样写:
http://127.0.0.1:9000/file/f/teacher/Nz1H76bO-头像2.jpg这样写即相当于直接访问 D:/fileUpload/imooc/teacher/Nz1H76bO-头像2.jpg 了。
因为那个 f 就等价于 D:/fileUpload/imooc/。
