1

xmlファイルをダウンロードするためのリンクがあるWebアプリを使用しています。のように、リンクをクリックすると、ブラウザがファイルをダウンロードします。デスクトップのChrome/FF/Safariからファイルが期待どおりにダウンロードされます。また、ユーザーエージェントをiPadになりすました場合、FFからも機能します。ただし、iPadのMobile Safariからクリックすると、リンクはブラウザを新しいページに移動し、何もダウンロードせずにxmlをhtmlとして表示しようとします。

現在、HTTP応答には次のヘッダーが含まれています。

Content-Disposition:attachment; filename="myFile.xml"    
Content-Type:application/octet-stream;charset=UTF-8

これらの2つのHTTPヘッダーは、応答ストリームを表示するのではなく、ダウンロードするようにブラウザーに指示する必要があることを理解しています。

iPadで実行されているMobileSafariでこれが機能しない理由を誰かが知っていますか?

4

1 に答える 1

5

MobileSafariは通常、HTTPヘッダーで指示された場合でも、ファイルをダウンロードしません。たとえば、MobileSafariのWebサイトからMP3をダウンロードすることは不可能であり、再生するだけです。これは、ユーザーがアクセスできるファイルシステムがないiPhone / iPadに起因します。ファイルシステムにアクセスできない場合、ダウンロードしたファイルを保存したりアクセスしたりする方法は実際にはありません。つまり、MobileSafariはファイルをダウンロードできないため、HTTPヘッダーの内容に関係なく、ファイルを表示しようとするだけです。

于 2012-05-07T23:52:37.993 に答える