springboot项目中解决SpringBoot上传图片后访问不到的问题

1.解决SpringBoot上传图片后访问不到的问题

  1. 问题描述
    前后端不分离项目
    前端:thymeleaf
    后端:mybatis+springboot架构
    在前端上传图片之后,上传到指定的本地路径
    路径为:idea项目下的 resources/static/upload/img/**
    已经上传成功,文件夹里面也有访问 http://ip地址:端口号/路径/xxx.png 这种图片是访问不到的。

  2. 出现原因
    原理是服务器的保护措施导致的,服务器不能对外部暴露真实的资源路径,需要配置虚拟路径映射访问。

  3. 解决办法:

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
  //  /upload/**   为虚拟地址
  //file:///为真实的本地地址
  registry.addResourceHandler("/upload/**").addResourceLocations("file:///"+System.getProperty("user.dir")+"/src/main/resources/static/upload/img/");
        WebMvcConfigurer.super.addResourceHandlers(registry);

    }
}

2. 第二种解决方案

spring.web.resources.static-locations=classpath:/static/,file:${upload.dir}
upload.dir = G:/2021_12_8/easypoi_springboot/src/main/resources/static/upload/img

classpath:代表你当前静态资源存放位置
upload.dir:代表你的图片存放的真实路径
http://localhost:ip/图片名称 即可访问图片
在这里插入图片描述

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值