最近在做前后端分离开发的在线教育项目,遇到了一个关于访问外部链接拼接默认地址的问题。具体问题描述如下:
在课程发布模块中,通过阿里云OSS对课程的封面进行存储,
需求:单击默认图片即可从本地磁盘中选择图片上传至阿里云OSS中,并回显到浏览器。
但是目前单击过图片后,无法回显图片。浏览器中出现如下图所示的bug:
404(Not Found)即找不到链接的图片。链接的形式为http://localhost:9528/ + 图片在oss中的地址。此外,在上方输出了图片url的地址,正是图片在oss中的地址。为什么vue会为我们自动添加一个默认地址(Http://localhost:9528/)呢?
是不是我后端的Url拼接出错了呢?通过Debug,得到拼接的链接如下图所示:
仔细的看了一下我的链接,发现有https后的一个":"漏加了。回顾浏览器的bug,正是":"没加。原来我输出了不符合规范的链接之后,vue把我错误的链接当作本地磁盘进行了解析,当我改正过来之后,vue没有加http://localhost:9528/的默认地址,图片正确回显,下图。