Android ブラウザで PHP によるファイルダウンロードが出来ない件
① SSL にて、PDF や ZIP ファイルをダウンロードする場合、SSL の証明書が有効でないとダウンロードは出来ません。 この場合、.pdf ファイルに直接アクセスしても、ダウンロードは出来ません。
② POST 送信で 「Content-Disposition:attachment」を出力する場合、再び GETで同じURLにリクエストを送信するとのことです。 GET 送信で、リクエストさせる方法で実装するしかないようです。 「Content-Disposition:inline」にした場合、POST→GET の送信はされませんでしたが、ファイル名(filename)が指定出来ませんでした。 よって、この方法もダメでした。
参考URL http://zhzrzkz.blogspot.jp/2012/05/android.html http://stackoverflow.com/questions/4674737/avoiding-content-type-issues-when-downloading-a-file-via-browser-on-android https://code.google.com/p/android/issues/detail?id=1978
これらによると、AndroidのブラウザがPOSTメソッドでサーバにリクエストし て、サーバからContent- Disposition:attachmentなヘッダを受け取ると、再び GETメソッドで同じURLにリクエストを送信するとのことです。 また、この動作はPCのブラウザとは違うのですが、バグでは無いようです。
対応方法としては、POSTメソッドとGETメソッドで処理を変えるとか、フォーム データの内容が見えてもよいのなら画像をダウンロードする URLには、GETメ ソッドでリクエストする等がありそうです。