javascript-在浏览器中打开文件而不是下载

我的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文件下载.

解决方法:

按照JavaScript/jQuery to download file via POST with JSON data,构造一个Blob,并使用该Blob返回链接的文件引用.

这将以符合标准的方式通知浏览器您的意图.

例子…

$.get(/*...*/,function (result)
{
    var blob=new Blob([result]);
    var link=document.createElement('a');
    link.href=window.URL.createObjectURL(blob);
    link.download="myFileName.txt";
    link.click();

});
上一篇:php – 如何使用Simple-HTML-DOM提取完整的子链接?


下一篇:javascript – 抵消html锚点以调整固定标题