javascript - 除了更改标题外,如何在 Firefox 中强制另存为对话框?

标签 javascript firefox save

有没有办法在 ff 中强制将 www.example.com/example.pdf 另存为对话框? (我无法更改标题)

最佳答案

如果您可以将文件以 base64 格式输出到客户端,则可以使用 data uris 进行下载。

location.href = 'data:application/octet-stream;base64,' + appendPDFContentHere
OR
<a href="data:application/octet-stream;base64,appendPDFContentHere">pdf</a>

这只适用于非 IE 浏览器,但正如您要求的 firefox,这应该能很好地工作。

编辑:

下面的两个示例都包含制作 PNG 的字节。如果您单击第一个,您可以像通常在浏览器中一样查看图像。但是,如果您单击第二个链接,它将强制您下载图像。将其另存为 .png,您将看到它们是完全相同的图像。两个链接的唯一区别是 mime 类型

view image ( preview shortened url ) -- mime 类型:image/png

download image ( preview shortened url ) -- mime 类型:application/octet-stream

您询问了用什么代替appendPDFContentHere,答案是构成 PDF 的 base64 编码字节。我在网上用过这个base64 encoder对示例中使用的图像进行编码。

关于javascript - 除了更改标题外,如何在 Firefox 中强制另存为对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/833068/

相关文章:

Javascript date.setSeconds 在 Debugger 中按预期工作但在脚本中不工作

javascript - jQuery 数组打印表

javascript - 为什么 `{} + 1` 在 Chrome 和 Firefox 中获得数字 1,但在 Node.js 中获得字符串 '[object Object]1'?

Android Viewpager 保存数据和 View

Android Firebase 如何在特定用户下保存和检索数据

javascript - 在 jquery 中获取模型绑定(bind)对象属性

javascript - 函数 js 中的函数

css - 是否可以指定单独的 Firefox 和 IE 高度?

javascript - 屏幕阅读器无法读取 Firefox 中的 Aria-Live

image - OpenCV2.3 imwrite保存黑色图像