我的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();
});