gpt4 book ai didi

javascript - 如何在 Firefox 中强制下载 PDF?

转载 作者:行者123 更新时间:2023-12-05 00:26:34 25 4
gpt4 key购买 nike

我有以下用于从后端下载 PDF 文件的代码:

    const link = document.createElement('a')

link.href = URL.createObjectURL(blob)

link.setAttribute('target', '_blank')
link.setAttribute('download', file_name)

link.click()
link.remove()
setTimeout(() => window.URL.revokeObjectURL(url), 100)
它可以按预期在 Chrome 中运行,我相信它以前可以在 Firefox 中运行,但现在 Firefox 在同一选项卡中打开文件而不是下载,忽略目标和下载属性。

最佳答案

这是 98 及更高版本的预期行为。 PDF 默认设置为在 Firefox 中打开。
如果您将给 Blob 的 mimetype 更改为“application/octet-stream”,或者将链接的 href 分配给页面中的 iframe 为目标,我认为您会恢复以前的行为。
当下载属性适用时,它被视为与服务器发送的“Content-Disposition: attachment” header 相同。 Firefox 开发人员认为用户的偏好应该胜过服务器所说的内容——无论用户是否表示他们希望 PDF 在外部应用程序(Acrobat 或 w/e)中打开、自动保存到磁盘或在 Firefox 中打开。
来源:https://bugzilla.mozilla.org/show_bug.cgi?id=1756980
编辑:
Firefox 在同一选项卡中打开文件并忽略目标属性是一个错误。
来源:https://bugzilla.mozilla.org/show_bug.cgi?id=1759916

关于javascript - 如何在 Firefox 中强制下载 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71494198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com