写在前面

最近做项目需要用到上传图片的需求,上传正常完成,之后在前端却不可以正常显示。

原因

图片确实保存到了后端,但是后端没有刷新(仍然处于上一个状态,此时ajax请求(其它请求也看不到,当然照片不是存在数据库中的,数据库也只是存储相对路径)就会报404 not found错误),也就是没有找到需要回显的图片。所以可以通过重新部署完成。

但是每一次上传图片都要重新部署,显得非常的不合理。

解决方案

配置资源处理器,管理监视静态资源。
如下:

@Configuration
public class ImgBackShowConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    	//registry.addResourceHandler(相对路径)
    	//addResourceLocations(绝对路径)
    	//System.getProperty("user.dir") 获取当前项目的绝对路径
    	//
        registry.addResourceHandler("images/headImage/**").addResourceLocations("file:"+System.getProperty("user.dir")+"\\src\\main\\resources\\static\\images\\headImage\\");
    }
}

写在最后

果然,实践真可以学习到很多!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐