プロが教えるわが家の防犯対策術!

<a href="./hogehoge.pdf">ダウンロード</a>

このようなリンクをクリックすると、ブラウザの中にpdfが表示されてしまいます。
強制的にダウンロード画面を出させるには、どのようにすればよいでしょうか?

HTTPヘッダーが操作できる環境なら、"Content-Disposition: attachment"を吐き出せばよいのでしょうが、HTMLだけでは無理ですか?
JavaScriptを使えばできそうな気もするのですが、情報が検索できませんでした。

宜しくお願いします。

A 回答 (3件)

方法として3点あります。



1.質問文にもあるようにHTTPヘッダーで強制的にダウンロードダイアログを出力させる方法
2.No1さんがおっしゃるようにサーバーでMIMEタイプをいじる方法
3.クライアント側のフォルダオプションでPDFの拡張子に対して、必ずダイアログを表示させる方法

1は一番有効な手ですが、使えないのですか・・・
2はブラウザによって無視されたりします・・・
3も確実な手ではあるのですが、クライアント1台1台設定を行ってもらわなければなりません。

JavaScriptで出来るということは聞いたことがありません。すみません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

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

お礼日時:2005/07/02 09:05

クリックした時の挙動はブラウザによるので、たとえば全てのOS、ブラウザでダウンロードをさせたいとなるとCGIで処理するしかないと思います。



CGIと言ってもPerlなら4,5行程度でできます。
    • good
    • 0
この回答へのお礼

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

質問が情報不足ですみません。

お礼日時:2005/07/02 09:02

IEなどはファイルの拡張子で立ち上げるアプリケーションを決める場合もあるので、こうなるとサーバー側ではどうにもならないですね。



試した事はありませんが、サーバー側の設定がいじれるのであれば、MIMEヘッダの定義からapplication/pdfを外してみたらどうなりますかね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/07/02 08:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!