除了更改标题,如何强制保存为Firefox中的对话框? [英] How to force save as dialog box in firefox besides changing headers?

查看:182
本文介绍了除了更改标题,如何强制保存为Firefox中的对话框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法在ff中为www.example.com/example.pdf强制另存为对话框? (我不能改变头文件)如果你可以用base64输出文件到客户端,你可以使用数据uris来下载。
$ b $ $ $ $ $ $ $ $ $ $ $ location.href ='data:application / octet-stream; base64'+ appendPDFContentHere

< a href =data:application / octet-stream; base64,appendPDFContentHere> pdf< / a>

这只适用于非IE浏览器,但是如果您要求使用Firefox, 。

编辑:



下面的两个例子都包含了制作PNG的字节。如果您点击第一个,您可以像浏览器中一样查看图像。但是,如果您单击第二个链接,则会强制您下载图像。保存为.png,你会看到他们是完全相同的图像。这两个链接的唯一区别是mime类型 b
$ b

查看图片预览缩短的网址) - mime type:image / png

下载图片预览缩短网址) - MIME类型:应用程序/八位字节流



你问你用什么来代替 appendPDFContentHere ,答案是组成PDF的base64编码字节。我在线上使用 base64编码器进行编码在这个例子中使用的图像。


Is there a way to force a save as dialog box for www.example.com/example.pdf in ff? (i can't change the headers)

解决方案

If you can output the file to the client in base64, you could use data uris to for the download.

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

This will only work in non-IE browsers however but as you requested for firefox, this should work nicely.

EDIT:

Both of the examples below contain the bytes to make a PNG. If you click the first one you can view the image as you normally would in a browser. however, if you click the 2nd link, it will force you to download the image. Save it as a .png and you will see they are the exact same images. The only difference in the two links is the mime type

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

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

You asked what you put in place of appendPDFContentHere and the answer is the base64-encoded bytes that make up the PDF. I used this online base64 encoder to encode the image used in the example.

这篇关于除了更改标题,如何强制保存为Firefox中的对话框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆