ひまつぶし雑記帖

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

Android標準ブラウザでダウンロードできない現象

2014/12/20 [13:32:37] (土) 天気

Android標準(?)のブラウザでPDFやzip、epubファイルのダウンロードができなくて吐血。

PCのブラウザやiphone(iOS)、AndroidでもChrome、Firefoxなどのブラウザだと意図通り問題なくダウンロードできるのに、Android標準(?)のブラウザだとダウンロードできない。というか、なぜか、ページのHTMLをダウンロードしてしまう。

謎な挙動のスマホ標準ブラウザに対応する必要があるのかという、そもそものところはまた別として。
調べてみたら、検索のしかたが悪いのか情報が錯綜していて正解が見えてこない。

スクリプトが吐くヘッダは定型。

このヘッダに続いて、epubファイルが標準出力に吐き出される。ほかのいろんなスクリプトで使っているやりかたで、Androidスマホ以外では問題なく意図通りダウンロードできている。

老眼血眼、しこたま検索しまくって、こちらのサイト
「コンピュータの日々 Android付属ブラウザのファイルダウンロードの動作」

AndroidのブラウザがPOSTメソッドでサーバにリクエストして、サーバからContent-Disposition:attachmentなヘッダを受け取ると、再びGETメソッドで同じURLにリクエストを送信するとのことです。


へ? と思ってアクセスログを見るとAndroidスマホのブラウザ(docomoのスマホ L-05E 、mobile safari)は、確かにPOSTでアクセスしてきた後、なぜかGETでアクセスしている。

ページのHTMLを取得してるので、最初はブラウザのキャッシュを疑ったんだけど、どうやら真相はこいつ。attachmentで渡してるはずのepubファイルではなくて、次のGETでページのHTMLをダウンロードしているご様子だ。

なんでやねん。


以上は、とりあえずのメモ。
これじゃ、スクリプトで吐き出させたんじゃダウンロードしてくれない、ということになる。
ダウンロードしてもらう方法としては、一度サーバーにファイルを書き出して、静的リンクをクリックしてもらうしかない…うーん、ほんまかいな。

スクリプトで直接ダウンロードする方法をもうちょっと調べてみる。たぶん、わたしのスキル不足だと思う(詠み人知らず)
image 

[12/20 21:30:21] 追記。
現状、スマホ標準のブラウザは .epub ファイルにリンクしても、ブラウザが  epub ファイルを開いて表示しやがる。
バイナリを文字化けした文字にしてブラウザにダアアアアッと表示する。なんじゃそりゃ状態。

なもんで、.htaccess で(httpd.confでもいいけど) MIME TYPE を指示(指定)してやる必要がある(epubという拡張子のファイルにアクセスされたらどうするのかの設定)
addType application/octet-stream .epub

…て、epub自体が最近なので、Android標準ブラウザに適切な対応を求めるのは可哀想、というか無理かもしれん。もう意味不明なブラウザを使うのではなくて、Firefoxなり、PCでも使われるブラウザとその挙動を標準にすべきだろう。


[2016/01/03 10:47:38] 追記。
どうやら現状のAndroidの「ダウンロード」(ダウンローダー)はSSLのページや認証が必要なページからはダウンロードできない困った仕様っぽい。

・ブラウザで閲覧→PDFやzipをタップ→ダウンローダーが起動してzipやPDFをダウンロード
という流れだとダウンロードできない。

・ブラウザで閲覧→PDFやzipをタップ→ブラウザがPDFやzipをダウンロード
だとダウンロードができる。Firefoxなどだとダウンロードができる、ということ。


スマホって、なんでまた「ダウンローダー」なんてのを噛ませることになったんだろう。

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
名前:
飯田哲章
mail:
t2aki@mrh.biglobe.ne.jp
twitter:
t2akii

WEBサービス制作/電子書籍制作

検索
<<2019/12>>
       
1234567
891011121314
15161718192021
22232425262728
293031

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版

iPhone電子書籍アプリ
小説同人誌Select iPhone電子書籍アプリ
『小説同人誌Select』