在写图片上传接口时,图片上传成功,但是需要重启服务才能将已经上传的图片访问。
解决方法:根据网上大神的说法,需要重写WebMvcConfigurer接口的addResourceHandlers方法
1.创建配置类
在config文件夹下,新建WebMvcConfig类。
package com.zhuwei.bgaccess.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/images/**")
.addResourceLocations("file:D:\\ideaProject\\background-management-system\\src\\main\\resources\\static\\images\\");
}
}
第一个参数是你请求时的地址,例如我的请求:http://localhost:8900/images/图片名称。
第二个参数是你图片上传的文件夹绝对路径:例如我的图片都放在项目的resource/static/images文件夹下。所以第一个和第二个参数都需要用到images。
2.注意事项
做完以上操作,就可以实现图片上传立即访问功能了。
但是我的一直不行,出错原因是我在启动类Application中配置了一下代码
@ComponentScan(basePackages = { "**.controller" })
就是没有配置**.config,所以上面的配置类没有启用。浪费了不少时间。注意了。