<p>pdf.jsは、「pdf」拡張子を含むためにURLに依存しています</p>

作成日 2014年02月12日  ·  13コメント  ·  ソース: mozilla/pdf.js

サーバーがContent-Dispositionヘッダーを提供しない場合、pdf.jsは「pdf」拡張子を含むためにURLに依存します。 ただし、URLは名前ではなく、ロケーターです。
再現する手順:

mv web/compressed.tracemonkey-pldi-09.pdf web/compressed.tracemonkey-pldi-09
sed -i 's/compressed.tracemonkey-pldi-09.pdf/compressed.tracemonkey-pldi-09/g' web/viewer.js
firefox web/viewer.html

次に、ダウンロードをクリックします。 'document.pdf'ファイルが提供されます。 名前はもっと意味のあるものにする必要があります。
このバグは、ApacheWebサーバーでPDF拡張子を省略した場合にも発生します。

提案された解決策:
PDFのタイトルを使用してください。 (このviewer.jsコードとして)。 このタイトルは、Firefoxがhttp://en.wikipedia.org/wiki/Internet_media_typeのようなHTMLページを表示するときに、[ファイル]-> [名前を付けてページを保存]機能にも使用されます。

すべてのhtmlWebページが.htmlで終わるわけではありません。 代わりに、拡張子によって、ドキュメントのタイプはそのMIMEタイプによって指定されます。
ただし、ほとんどのpdfファイルにはpdf拡張子が付いており、オンラインのほとんどのpdfのURLにも保存に適した名前が付いています。
新しい検索方法でURL検索を上書きするのか、それともフォールバックにするのかわかりません。

#3455も参照してください。

1-core 5-good-beginner-bug

全てのコメント13件

@timvandermeij

これに関する更新はありますか? オープンして2年以上になります。 私のファイルパラメータはpdfファイルを送り返すサーバー呼び出しであるため、.pdf拡張子を探しているように見えるため、pdfビューアはファイルの名前を検出できません。そのため、「document.pdf」でスタックします。ダウンロード時は「」、表示時はウィンドウバーに「untitled.pdf」。

URIで「タイトル」だけでなく、... / pdf-viewer / viewer.html?file = "..."&title = "...などの「ファイル」も指定できると便利です。 「」

現在、この問題を解決する方法であるContent-Dispositionヘッダーをサポートするための作業が#7554で行われていることを知っています。 ただし、 document.pdfは最良の名前ではなく、(ファイル)名を取得するための関数を改善する必要があるかもしれないことに同意します。 このためのパッチは大歓迎です。実装が難しくないはずなので、これを初心者向けの優れたバグとしてラベル付けします。

@timvandermeijすばらしいありがとう、 Content-Dispositionをサポートすることで実際に私の問題が解決すると思います。

コードを調べていたときに、ファイル名に別のURLパラメーターを追加するのはそれほど難しくないはずだと気づいたので同意します。 数日中に試してみます、ありがとう。

このためのパッチは大歓迎です。実装が難しくないはずなので、これを初心者向けの優れたバグとしてラベル付けします。

@timvandermeij PR#4956では、さまざまなハッシュパラメータがビューアに影響を与えることを意図的に
したがって、ハッシュパラメータを使用してtitleを指定できるようにするべきではないと思います。

特にそれが非標準であると考えて(http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_open_parameters.pdfのコンテキストで)、 Content-Dispositionと比較しますPR#7554の

申し訳ありませんが、もっと明確にすべきでした。 URLからファイル名を決定する機能を改善するためのパッチを歓迎するという意味です。 ファイル拡張子だけに頼るのではなく、もっとうまくやれると思います。 これ以上ハッシュパラメータを追加しないことに同意します。

この問題の状況はどうなっていますか? これはまだ開いていますか?

この問題の状況はどうなっていますか? これはまだ開いていますか?

@anirudhrbはまだ開いていますが、#7554でそれを実装する試みがありましたが、それに貢献しますか?

@yurydelendikはい、貢献したいと思います。 この問題のPRには何が期待されていますか?

@anirudhrb 、データのリモート処理がある程度適切であるため、上記のPRをベースとして使用できます。単体テストを使用した小さなパッチが必要です。 仕様のContent-Disposition解析は必要ありませんが、ファイル名を取得するには十分です。

@yurydelendik私はこれに取り組み始めました。 これは、オープンソースプロジェクトに貢献する私の最初の試みです。 コードベースに慣れるには少し時間が必要です。 :)

@ yurydelendik@ timvandermeijよろしければ、この問題を取り上げてもらえますか?

上記のプルリクエストは正しい方向のように見えますが、それ以上のアクティビティはありません。 あなたがそれを修正することに興味があるなら、それはいいですね。 元の作者がまだそれに取り組むことを計画しているかどうか尋ねます。

#9379で修正されました。

このページは役に立ちましたか?
0 / 5 - 0 評価