liguofeng29’s blog

個人勉強用ブログだっす。

android標準ブラウザでファイルダウンロード時エラー

webアプリからファイルをダウンロードする際に、

PCブラウザからは正常にダウンロードできるが、android標準ブラウザではうまくダウンロードできない。
org.apache.jk.common.ChannelSocket processConnection
警告: processCallbacks status 2
これらによると、AndroidのブラウザがPOSTメソッドでサーバにリクエストして、サーバからContent-Disposition:attachmentなヘッダを受け取ると、再びGETメソッドで同じURLにリクエストを送信するとのことです。
また、この動作はPCのブラウザとは違うのですが、バグでは無いようです。

対応方法としては、POSTメソッドとGETメソッドで処理を変えるとか、フォームデータの内容が見えてもよいのなら画像をダウンロードするURLには、GETメソッドでリクエストする等がありそうです。
参考: