HTTP "Content-Disposition: attachment" and downloading files on iOS web browser

IphoneIosIpadHttpHttp Headers

Iphone Problem Overview


I want my users to be able to download a PDF file and have the browser treat it as a file, not just display it (i.e. it has a filename, user gets option to save, etc.). The following header seems to work well for this everywhere except for iOS:

Content-Disposition: attachment; filename=file.pdf

iOS just ignores this and displays the image or document. No big deal, you might think, except I'm doing this in a hidden IFRAME as part of my download page, so the document is never even seen, and it looks like the download failed.

What's the best way to handle this in a cross-browser compatible manner? Does iOS just ignore this header? I can't find any spec or mention of this anywhere.

Do I need to check for iOS in request headers and serve the response differently? I was hoping to avoid this. Thanks.

P.S. Any other helpful tips related to downloading files etc. in iOS web browsers are appreciated.

CLARIFICATION: This regarding a regular web site browsed by the mobile Safari browser. Not a native app.

Iphone Solutions


Solution 1 - Iphone

The mobile Safari browser doesn't support downloading files.

If Safari can display it, it will display. If you have installed other apps that can open the file, Safari will detect it for you.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiondkaminsView Question on Stackoverflow
Solution 1 - IphoneaelamView Answer on Stackoverflow