bug随笔——Chrome浏览器下载图片被拦截

303 阅读2分钟

起因

昨天晚上接到需求,前端项目内的图片上传组件有bug待修复,
什么bug呢?
组件内的图片预览不显示。
很快啊,我接到需求,隔天哐哐一顿改,早上九点多就提测了啊。

波折

新的问题出现了,上传后的图片,在过了一段时间后失效了。
这是怎么回事?
原来是因为OSS私有桶返回的链接设定了有效时间,这个有效时间还非常短,可能都没有10分钟。
跟后端大佬进行报告,报告完毕,静待后续。

发展

后端大佬也很快啊,哐哐一顿改,
我也是积极配合,问题很快解决。
其间也有一点小问题,就是预览有了,但组件内的另一功能,下载上传完毕的图片,不顶用了。
大佬说这是正常的,因为我使用的是测试账号,没有OSS私有桶的权限嘛,所以下载不了,
等上线之后,用线上账号就可以啦。

杯具

上线了,图片依然下载不了。
具体表现是,点击之后跳到了空白页,但很快,空白页关闭,又跳回了原来的页面,
秘技·反复横跳!
总的来说就是闪了一下,就是这么,唔,闪了一下,
其他什么都没有发生,没有下载图片也没有控制台报错,什么都没有,就这么……闪了一下。
哦豁,GG,我心想,这把直接原地爆炸。
几个人在那里各自排查,愣是没查出什么有用的东西来。

终章

晚上下班回家后我开始重新排查,这次没再纠结我自己的代码问题,
虽然我很菜,但今天已经反省一整天了都(夸张写法),已经把自己的代码来来回回倒腾了一遍又一遍,
并在下班前得出结论:卵用没有。
事已至此,与其内耗自己,不如那啥那啥。
于是我开始从外部找原因,这一找,还真给我找到了。

滑稽

图片下载不了的bug是因为在https页面下,http资源会被Chrome默认拦截。
前面提到的,点击之后跳到空白页后又跳回原页面的这一现象,其实就是Chrome的对http下载行为的拦截。
一时间,心中五味杂陈不知道说什么好。
就非常简单一问题,图片链接是http开头的,因为这个,所以被Chrome拦截了。
但我之前却一直没注意到这个问题,真是……服了我自己。

见谅

我是一只刚入行的菜鸟,以上这些都是自己的碎碎念,发出来是给自己找个地方做记录/备份,狡兔三窟嘛。
同时呢,这也是对我自己的一个鞭策。
感谢您能观看到这里,感谢感谢。