叨叨游戏网
您的当前位置:首页【已解决】SpringBoot图片更新需重启服务器才能显示

【已解决】SpringBoot图片更新需重启服务器才能显示

来源:叨叨游戏网

问题描述

1、更新头像,并跳转回列表页,发现显示不出来

问题分析

通过查资料与实践发现,这是由于服务器的自我保护机制导致的现象,为了防止暴露绝对路径

简而言之,就是图片上传到的是src包下,不是tagert包下,但程序运行用的是target包下的代码

问题解决

对于上述问题,可以通过配置静态资源映射解决:
创建config包,创建对应的xxxxConfig类,实现WebMvConfigurer接口的addResourceHandlers方法
如果需要映射两个路径,类似于这样就可以

@Configuration
public class WebConfig implements WebMvcConfigurer {
@Value("${code_img_path_local}")
    private String codeImgPath;

    @Value("${avatar_path_local}")
    private String avatarPath;
/**
     * 映射外部图片路径
     *  解决更新图片后需要重启服务器才能解决的问题
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/pic/captcha/**").addResourceLocations("file:"+codeImgPath);
        registry.addResourceHandler("/pic/avatar/**").addResourceLocations("file:"+avatarPath);
    }
}

因篇幅问题不能全部显示,请点此查看更多更全内容