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
https://code.google.com/p/android/issues/detail?id=1978
これらによると、AndroidのブラウザがPOSTメソッドでサーバにリクエストし
て、サーバからContent- Disposition:attachmentなヘッダを受け取ると、再び
GETメソッドで同じURLにリクエストを送信するとのことです。
また、この動作はPCのブラウザとは違うのですが、バグでは無いようです。
対応方法としては、POSTメソッドとGETメソッドで処理を変えるとか、フォーム
データの内容が見えてもよいのなら画像をダウンロードする URLには、GETメ
ソッドでリクエストする等がありそうです。