今天写了上传文件功能,之前都是传到云端没有遇见问题。今天把文件上传到本地电脑d盘文件夹中啦,返回值就是d://upload//文件名,但是这样,前端同事通过我电脑ip+端口号+地址,是访问不了的。经过查询了解,需要配置个本地映射关系,前端同事才能访问到。所以记录下来,以免忘记
package com.example.demo.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
@Autowired
private BossAuthIntercepter bossAuthIntercepter;
// 配置映射关系
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
{
/** 本地文件上传路径 */
registry.addResourceHandler("/profile/**")
.addResourceLocations("file:" + "D:\\uploads\\");
}
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(bossAuthIntercepter)
.addPathPatterns("/**") //拦截所有请求
.excludePathPatterns("/error")
.excludePathPatterns("/passport/**","/user/**","/profile/**","/SimpleWord/**");//放行请求
}
}
红色字体就是映射关系,这样前端就可以通过 ip+端口号+/profile/文件名,访问到了。