3 回答

TA贡献1886条经验 获得超2个赞
如果您已经有了 URL,并且只想下载文件,请使用一个不可见的链接,然后为用户单击它:
function triggerDownload(url, filename) {
const a = document.createElement('a');
a.href = url;
a.download = filename;
a.style.display = `none`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
请注意添加到文档中,这是链接算作真正链接所必需的。

TA贡献1811条经验 获得超5个赞
我同意迈克,如果您想添加下载时的时间戳,则不需要任何 ajax 来下载它,只需更改下载属性动态
<a href="url" onclick="this.download = `PdfName-${+new Date}.pdf`">Download</a>
或者最好使用 content-disposition 附件标头将其添加到后端

TA贡献1776条经验 获得超12个赞
刚刚使它工作,这是我的工作代码
const blob = new Blob([response], { type: 'application/pdf' });
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "filename.pdf";
link.click();
添加回答
举报