ETJava Beta | Java    注册   登录
  • springboot项目上传图片后不立即回显问题解决

    发表于 2024-04-15 21:38:55     阅读(188)     博客类别:Springboot

    springboot项目上传图片后不立即回显问题解决

     

    发生原因:

    SpringBoot 把静态的文件在启动的时候都会加载到classpath的目录下的,package时把static目录下的资源一起打包到了jar包或war包中,此时上传的图片并未传入启动了的项目中,所以访问不到。项目重启后又会打成新的jar包,包含上一次上传的的图片,此时才会在页面上显示

     

    解决方案

     

    配置路径的虚拟映射

     

    package com.et.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: ETJAVA
     * @CreateTime: 2024-04-15  21:15
     * @Description: TODO 静态资源虚拟路径映射
     * @Version: 1.0
     */
    @Configuration
    public class WebAppConfig implements WebMvcConfigurer {
    
        @Value("${imageFilePath}")
        private String imageFilePath;
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/filmImage/**").
                    addResourceLocations("file:"+imageFilePath); // 电影图片本地路径映射
        }
    }