springboot 上传图片到服务器之后,前段不能正确加载图片问题

技术说明:

springboot:2.1.4.RELEASE
jQuery
Ajax
mysql:8.0.32

问题描述:

springboot打成jar包,上传到服务器之后,在同目录下,又创建了一个upload目录,用来储存照片,但是前端引用url路径之后不能显示图片

问题分析:

因为不在同一个目录之下,路径url需要做一个映射的配置

后端映射配置代码如下:

@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {

    private String imgPath = "file:/www/yuanshengrong/upload/";//这里是你服务器储存图片的位置;注意,路径末尾加/,Windows用file:D/XX/,linux用file:/XX/
    //private String imgPath = "file:D:\\upload/";//本地测试路径

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/upload/**")//前段访问url前缀,/uoload/**,映射到服务器物理路径,这里的upload对应你前端的http+ip+端口+upload,看如下图片
                .addResourceLocations(imgPath);//这里就是上面的服务器储存图片的路径
    }


    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry
                .addMapping("/**")
                .allowedOrigins("*");//允许域名访问,如果*,代表所有域名
    }

}

前段展示图片的时候,记得加上upload,如果没有前缀,就不用加,主要看你后端怎么配置的前缀

 <img src='/upload/"+contractDo.contractPhoto+"'>//这里的contractDo.contractPhoto是你后端返回的图片名称,看你自己怎么写的,你就怎么改

posted @ 2025-10-17 12:47  姜飞祥  阅读(9)  评论(0)    收藏  举报