フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:01_リクエスト・要望
掲示板に添付された PDF ファイルを正しく iOS (iPhone)で閲覧できない
[ 6936 ] 掲示板に添付された PDF ファイルを正しく iOS (iPhone)で閲覧できない

# 環境

* GS モバイルを契約せず無償版のみの Gsession
* iPhone の内蔵ブラウザ(Safari)と、Chrome でテストを実施

* GroupSessionバージョン: 4.7.2
* OS: Linux 64bit 4.4.0-98-generic (Ubuntu Server 16.04 LTS)
* Java バージョン: java version "1.8.0_151"
* Web サーバ: 使用しておらず Tomcat 単体のみ
* Tomcat 単体での動作: 動作する
* ログのエラー出力: なし
* ファイアウォール: 使用していない

# 問題の再現方法

* 掲示板に、2ページ以上ある PDF ファイルを添付する
* iPhone 等の iOS デバイスからその PDF ファイルを開く

上記の手順で、PDF ファイルの1ページ目しか表示されません。
自分で詳細を調べたり、検証してみてなんとなくあたりがついていることを記載します。

iOS は、どうやら HTTP の Range header をサポートしていないと正しく PDF ファイルを
ページ inline で表示できない模様?下記が非常に参考になります。
https://stackoverflow.com/questions/7585610/jsf-streaming-pdf-on-ios-devices

手元で試した結果、Tomcat の webapps/ROOT/ ディレクトリ中であれば
--
Accept-Ranges: bytes
--
レスポンスヘッダを返し、リクエストで例えば
--
Range: bytes=0-20
--
等として PDF ファイルへアクセスすれば、HTTP Status 206(Partial Content) で返ってきます。
ところが、webapps/gsession ・・というか Gsession の掲示板に添付した PDF ファイルでは、
Range ヘッダをつけてリクエストを送っても、Accept-Ranges ヘッダをレスポンスで得られず
HTTP Status 206(Partial Content) で返ってこずに 200 OK でフルサイズで PDF データが
レスポンスとして返ってきます。
おそらく、この挙動が問題となって、iOS では正しく PDF ファイルを表示できないのではないか?と
あたりをつけているのですが、こちらについてバグであれば修正して頂けないでしょうか?
iOS 以外では発生しないみたいなので、非常にニッチなニーズかもしれませんが、
ご対応頂けると幸いです。
また、私の解釈がもし間違っていれば、それについてもご指摘頂ければと存じます。

おそらくソースコードに手を入れるとしたら、
TempFileUtil.java の 383行目で定義されている、__download メソッドの中で、
iOS の場合のみ res.setHeader で Accept-Ranges: bytes を返してやるような実装に加え、
実際に Range ヘッダ付きのリクエストが来た際には適切に処理して Partial Content で
返す等の実装も必要?のように思っています。
そうではなくて、例えば Tomcat の設定を変更する等でコードは変更せずに対応できるとか
もしあれば、それについてもご教示頂ければ幸いです。

長文になってしまい申し訳ありません。

以上、どうかご検討ご教示の程よろしくお願い致します。

投稿者sirase
最新書き込み2017/12/09 01:39:51
[ 6938 ] Re: 掲示板に添付された PDF ファイルを正しく iOS (iPhone)で閲覧できない

引き続きこの問題について調べているのですが、Range ヘッダのサポート有無が
影響しているのか、それとももしかすると下記が関係しているかもしれません。

After iOS8 upgrade, safari can't display PDF in iframes again
https://discussions.apple.com/message/26661547#26661547

Group Session では掲示板に添付された PDF ファイルは、iframe を使って
表示しようとしていますか?

投稿者sirase
最新書き込み2017/12/09 21:09:21
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=2&threadSid=2474
 


TOP