【发布时间】:2019-03-08 07:25:22
【问题描述】:
我的 Pdf 文件存储在 google 存储桶中,我有一个链接,可以说是 https://storage.googleapis.com/bucketName/xyz.pdf。要下载此文件,我正在这样做,
<a href="https://storage.googleapis.com/bucketName/xyz.pdf" download> Download This File </a>
但是当我点击这个锚标记时,而不是下载这个文件浏览器在同一个标签中打开这个文件,即使我尝试通过 javascript 下载文件并且正在使用这个代码。
var link = document.createElement("a");
link.download = 'File.pdf';
link.href = 'https://storage.googleapis.com/bucketName/xyz.pdf';
link.click();
但同样的情况再次发生在同一选项卡中打开文件而不是下载。不知道主要问题是什么?这个 Google 存储桶是不允许文件下载,还是我的 chrome 设置阻止文件下载。 它没有在 Chrome 中下载,我猜 Chrome 确实允许从 CORS 文件下载。
【问题讨论】:
-
下载不适用于所有浏览器。也许你需要添加ˋwindow.locatioń´。
-
如果由于 CORS refer 使用的 href 链接属于不同的域,则下载属性将不起作用
-
您不能强制 Chrome 下载而不是仅使用客户端 javascript 打开 PDF。要强制下载,必须在 HTTP 标头中添加“Content-Disposition: attachment”,这只能在服务器端完成。
-
@MatrixTai 在那个问题中 Alexandar 说它在 chrome 中工作,但在我的场景中它也不能在 chrome 中工作。
标签: javascript html download anchor