1. 前台文件下载实现
一般使用后台返回的路径,打开新的浏览器窗口,就会自动下载
window.open(path)
2. 以上写法存在的问题
本地测试没问题,发布线上发现不能打开
3. 原因
由于后台返回的路径以http
开头,线上部署的域名是以https
开头的,二者的使用的协议不同。
4. 解决的办法
替换返回的路径中的协议为当前域名下的协议
let path = path.replace(/(http:|https:)/, location.protocol)
window.open(path)