私はPDFをダウンロードするためのオプションを保持しなければならないプロジェクトに取り組んでいます。ダウンロードボタン[画像]をクリックすると、PDFファイルが直接開かれます。
その代わりに、ダウンロードするファイルが.docまたはdocx形式の場合にのみ表示される「名前を付けて保存」ダイアログを表示したいと思います。
PDF形式の他の代替手段はありますか?
ありがとうございました。
ダウンロード リンクに属性を追加しdownload
ます。
場合によっては、リソースはすぐに表示するのではなく、後で使用することを目的としています。リソースをすぐに使用するのではなく、後で使用するためにダウンロードすることを意図していることを示すために、そのリソースへのハイパーリンクを作成するor要素で
download
属性を指定できます。a
area
さらに、この属性には値を指定して、リソースをファイル システムに格納するときにユーザー エージェントが使用するファイル名を指定できます。この値は、
Content-Disposition
HTTP ヘッダーのファイル名パラメーターによってオーバーライドできます。[RFC6266]クロスオリジンの状況では、ダウンロード属性を Content-Disposition HTTP ヘッダー、具体的には添付ファイルの配置タイプと組み合わせて、悪意のある可能性のあるアクティビティについてユーザーに警告されないようにする必要があります。(これは、ユーザーが完全に理解することなく、機密性の高い個人情報または機密情報をダウンロードすることを防止するためです。)
これは、次のように記述できることを意味します。
<a href="/path/to/file.pdf" download>Download the file</a>
<a href="/path/to/export-as-pdf.php?id=1" download="report.pdf">Download the file</a>
Webサーバーにヘッダーを追加するように指示できます。Content-Disposition: attachment
これにより、(正常な)ブラウザーに「名前を付けて保存...」ダイアログが表示されます。Apache を使用していてインストールされている場合は、次の行をファイルmod_headers
に追加します。.htaccess
<Files *.pdf>
Header set Content-Disposition attachment
</Files>
これについては、こちらで詳しく説明しています:
How to send Content-Disposition headers in apache for files .
HTTP ヘッダーを変更できる場合は、PDF を提供するときに次を追加する必要があります。
Content-Disposition: attachment;filename=xxxxxx.pdf
Firefox の場合
ツール -> オプション -> 一般 -> 常にファイルの保存場所を確認する を選択
Chrome で
設定を開く -> 詳細設定を選択 -> ダウンロードする前に各ファイルの保存場所を確認する
オペラで
Opera メニュー -> 設定 -> 設定 -> -> 高度なダウンロード -> 高度 -> 必要な MIME タイプを編集し、ダウンロード ダイアログを表示を選択します。
IE で
Adobe Reader プログラムを開きます -> [設定] -> [インターネット] -> [ブラウザに PDF を表示] のチェックを外します
ダウンロード
PDF の保存先がわからない場合は、Ctrl+J を使用して任意のブラウザからダウンロード フォルダにアクセスできます。ブラウザで開いている PDF は一時フォルダに移動しますが、ダウンロードしたものは選択したダウンロード ディレクトリに移動します。
HTML 5 属性の回避策
この HTML 属性を使用してリンクを強制することもできます。また、jquery も同じことをサポートしています (Austin の功績)
<a href="path/to/file" download>Click here to download</a>