How to force save as dialog box in firefox besides changing headers?

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

location.href="https://stackoverflow.com/questions/833068/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.

Leave a Comment