关于springboot项目图片上传到本地,必须重启之后才能访问的解决方案

关于springboot项目图片上传到本地,通过浏览器访问不了图片,必须重启之后才能访问的解决方案

springboot上传图片的规则

Spring Boot对静态资源映射提供了默认配置,默认将 /** 所有访问映射到以下目录:

classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources

必须将你的图片放在以上的文件夹中,才能可以访问。例如我上传到static文件夹下(访问路径不需要添加static),必须重启项目才能访问到。
在这里插入图片描述
在这里插入图片描述

原因

为什么要重启才能访问上传的图片呢,因为你的代码在运行中,你新上传的图片,并没有进入编译,所以找不到,不能访问,怎么解决呢。

解决

1.自定义静态资源访问,写一个配置类。

在这里插入图片描述

@Configuration
public class MvcConfig implements WebMvcConfigurer {
    
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    
    
    	前面的upload意思是,访问的时候路径上要加上upload,不然也访问不到。
		后面的upload意思是,你图片上传的路径,我的图片上传就在upload文件中(新创建的的文件夹)。
        registry.addResourceHandler("/upload/**").addResourceLocations("file:upload/")
    }
}

2.新建一个存放静态资源的文件夹

在这里插入图片描述

3.我上传图片,并且没有重启项目一样可以访问的到

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/twotwo22222/article/details/124680688#comments_28781787