web-dev-qa-db-ja.com

HTTP "Content-Disposition:attachment"およびiOS Webブラウザーでのファイルのダウンロード

ユーザーがPDFファイルをダウンロードし、ブラウザに表示するだけでなく、ファイルとして処理させるようにしたいです(つまり、ファイル名があり、ユーザーは保存するオプションを取得します)。 )次のヘッダーは、iOSを除くすべての場所で適切に機能するようです。

Content-Disposition: attachment; filename=file.pdf

iOSはこれを無視し、画像またはドキュメントを表示します。大したことではないと思うかもしれませんが、ダウンロードページの一部として非表示のIFRAMEでこれを実行しているため、ドキュメントは表示されず、ダウンロードが失敗したように見えます。

これをクロスブラウザ互換の方法で処理する最良の方法は何ですか? iOSはこのヘッダーを無視するだけですか?これに関する仕様や言及はどこにもありません。

リクエストヘッダーでiOSを確認し、レスポンスを異なる方法で提供する必要がありますか?これを避けたいと思っていました。ありがとう。

追伸iOS Webブラウザーでのファイルのダウンロードなどに関連するその他の役立つヒントはありがたいです。

明確化:これは、モバイルSafariブラウザによって閲覧される通常のWebサイトに関するものです。ネイティブアプリではありません。

54
dkamins

モバイルSafariブラウザーはファイルのダウンロードをサポートしていません。

Safariで表示できる場合は表示されます。ファイルを開くことができる他のアプリをインストールしている場合は、Safariによって検出されます。

19
aelam