PDFダウンロードが出来ない。
開発中のWEBアプリケーションで、とあるリンクをクリックするとPDFファイルをダウンロードするという機能があります。
PC、iPhoneはOKだったんですが、Androidではダウンロードしたファイルが不明なファイルとして扱われ、ビューワで開く事ができません。
ちなみに、Androidのバージョンは2.1です。XperiaとIS03で確認済み。
Xperiaの1.6だと出来てた。
原因は、サーバー側の問題で、レスポンスヘッダの指定の仕方に問題があった模様。
ダメだったコード。
サーバーサイドはjavaで組まれています。
response.setContentType("application/octet-stream"); response.setHeader("Content-disposition", "attachment;filename=\"" + getEndodedFileName(fileName) + "\"");
上手くいったコード。
String mimeType = getServlet().getServletContext().getMimeType(fileName); response.setContentType(mimeType); response.setHeader("Content-disposition", "attachment;filename=\"" + getEndodedFileName(fileName) + "\"");
contentTypeの部分は実際には「application/pdf」となります。
「octet-stream」ではAndroidはPDFファイルと認識してくれないようです。