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是你后端返回的图片名称,看你自己怎么写的,你就怎么改


浙公网安备 33010602011771号