从最近几天开始,我发现anchor tag上的download属性已经停止在跨域工作,而不是从该跨域下载内容,我们被重定向到查看该内容。
使用js的任何变通方法都将受到赞赏。
代码:
var a = document.createElement('a');
a.href = selectedStore.pdfLink;
a.download = 'Sample.pdf';
a.style.display = 'none';
document.body.appendChild(a);
a.click(); document.body.removeChild(a);
如果除了stackoverflow之外的任何域,则href将打开文档而不是下载它。
答案 0 :(得分:0)
我注意到跨域PDF文档存在类似问题。
我能够通过在PDF文档中添加http标头来解决此问题:
Content-Disposition: attachment; filename="Sample.pdf"
如果您的PDF文档存储在例如S3中,则可以轻松地手动添加标题以及以编程方式添加标题(在文档的初始上载期间)。如果您无法控制PDF文档HTTP标头,则需要另一种解决方案。