https下使用window.open()或a标签下载文件失败的问题

写在前面

关于文件下载,根据目标的格式,可以有好多种方式,今天我们只探讨针对链接返回流的下载方案,window.open(流)或<a href="流"></a>,在https下可能出现下载不成功的问题。

问题描述

通过window.open(流)或<a href="流"></a>的方式去下载这个文件(通常是个URL),但是这样的方式,在https的环境下,可能出现被拦截或者闪一下(新版Chrome)的情况,导致下载失败,根本原因就是下载的URL是http

浏览器会认为在https下打开的http链接不是人为的,所以会进行拦截,或者访问不成功

解决方案

解决方案很简单了,那就是把目标链接改成是https的,不管前端还是后端

反思

该问题会有很大的几率暴露到线上,因为通常,开发或者测试环境都是http的,这时候是不会有问题的,一旦到生产环境下,就会出现问题了。

问题很简单,记录很简单,遇到问题后解决了半个小时!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容