• ベストアンサー

pdfへのリンククリックで、ダウンロード画面を表示させたい

<a href="./hogehoge.pdf">ダウンロード</a> このようなリンクをクリックすると、ブラウザの中にpdfが表示されてしまいます。 強制的にダウンロード画面を出させるには、どのようにすればよいでしょうか? HTTPヘッダーが操作できる環境なら、"Content-Disposition: attachment"を吐き出せばよいのでしょうが、HTMLだけでは無理ですか? JavaScriptを使えばできそうな気もするのですが、情報が検索できませんでした。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • EUR
  • ベストアンサー率61% (29/47)
回答No.3

方法として3点あります。 1.質問文にもあるようにHTTPヘッダーで強制的にダウンロードダイアログを出力させる方法 2.No1さんがおっしゃるようにサーバーでMIMEタイプをいじる方法 3.クライアント側のフォルダオプションでPDFの拡張子に対して、必ずダイアログを表示させる方法 1は一番有効な手ですが、使えないのですか・・・ 2はブラウザによって無視されたりします・・・ 3も確実な手ではあるのですが、クライアント1台1台設定を行ってもらわなければなりません。 JavaScriptで出来るということは聞いたことがありません。すみません。

ps5550
質問者

お礼

回答ありがとうございます。 「HTMLだけで」ということ意味では、どうも無理みたいですね。 ありがとうございました。

その他の回答 (2)

回答No.2

クリックした時の挙動はブラウザによるので、たとえば全てのOS、ブラウザでダウンロードをさせたいとなるとCGIで処理するしかないと思います。 CGIと言ってもPerlなら4,5行程度でできます。

ps5550
質問者

お礼

すみません。CGIを併用すればよいのですが、できればHTMLだけで、もっと手軽にできる方法があるのかなと思い、質問しました。 例えば、今後、CGIが使えないレンタルサーバーなどでも使えるようにと。 質問が情報不足ですみません。

回答No.1

IEなどはファイルの拡張子で立ち上げるアプリケーションを決める場合もあるので、こうなるとサーバー側ではどうにもならないですね。 試した事はありませんが、サーバー側の設定がいじれるのであれば、MIMEヘッダの定義からapplication/pdfを外してみたらどうなりますかね。

ps5550
質問者

お礼

回答ありがとうございます。 サーバーは別会社が管理していますので、ちょっとお願いしずらくて・・・

関連するQ&A