TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

案件发生时的详细情况

  • 前端和后台都是本地开发,后台放在Apache服务器上
  • 前端上传的用户头像,后台保存到本地,并保存图片路径
  • 前端要显示用户头像时,通过向后台发起请求就可以获取到头像的路径并拿来显示

遇到的问题(截图)

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

当事人情况

  • 后台接口返回数据(只关注avatar)

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

  • 前台获取和显示

    • 发起请求获取信息

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

  • 赋值给data中的avatarPath

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

  • 给el-avatar进行显示

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

详细调查后对案件的认识

  • 浏览器有安全策略,不允许以绝对路径的形式来访问资源(看图就知道我用了从盘符开始的路径)
  • 后台部署在Apache服务器上,所以获取资源可以通过服务器地址来获取,这里用绝对路径真的是浪费表情!!!
  • 所以这是后台在保存图片路径的时候出现的问题,从后台修改

案件的解决

  • 后台修改保存的路径,保存从public目录之后开始到文件名的路径(uplaod/avatar/female.png)

    • 更改后的接口返回

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

  • 前端接收到头像的路径avatar后,拼接上服务器的地址

    • 这里要注意一定要加上***http://***,不然也是会访问不到的

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题

  • 这样子就可以将头像显示出来啦

TP5+Vue+ElementUI读取图片出现的"Not allowed to load local resource"的问题