- ベストアンサー
pdfへのリンククリックで、ダウンロード画面を表示させたい
<a href="./hogehoge.pdf">ダウンロード</a> このようなリンクをクリックすると、ブラウザの中にpdfが表示されてしまいます。 強制的にダウンロード画面を出させるには、どのようにすればよいでしょうか? HTTPヘッダーが操作できる環境なら、"Content-Disposition: attachment"を吐き出せばよいのでしょうが、HTMLだけでは無理ですか? JavaScriptを使えばできそうな気もするのですが、情報が検索できませんでした。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
方法として3点あります。 1.質問文にもあるようにHTTPヘッダーで強制的にダウンロードダイアログを出力させる方法 2.No1さんがおっしゃるようにサーバーでMIMEタイプをいじる方法 3.クライアント側のフォルダオプションでPDFの拡張子に対して、必ずダイアログを表示させる方法 1は一番有効な手ですが、使えないのですか・・・ 2はブラウザによって無視されたりします・・・ 3も確実な手ではあるのですが、クライアント1台1台設定を行ってもらわなければなりません。 JavaScriptで出来るということは聞いたことがありません。すみません。
その他の回答 (2)
- buffalomasa
- ベストアンサー率66% (70/106)
クリックした時の挙動はブラウザによるので、たとえば全てのOS、ブラウザでダウンロードをさせたいとなるとCGIで処理するしかないと思います。 CGIと言ってもPerlなら4,5行程度でできます。
お礼
すみません。CGIを併用すればよいのですが、できればHTMLだけで、もっと手軽にできる方法があるのかなと思い、質問しました。 例えば、今後、CGIが使えないレンタルサーバーなどでも使えるようにと。 質問が情報不足ですみません。
- wakame0729
- ベストアンサー率32% (245/765)
IEなどはファイルの拡張子で立ち上げるアプリケーションを決める場合もあるので、こうなるとサーバー側ではどうにもならないですね。 試した事はありませんが、サーバー側の設定がいじれるのであれば、MIMEヘッダの定義からapplication/pdfを外してみたらどうなりますかね。
お礼
回答ありがとうございます。 サーバーは別会社が管理していますので、ちょっとお願いしずらくて・・・
お礼
回答ありがとうございます。 「HTMLだけで」ということ意味では、どうも無理みたいですね。 ありがとうございました。