• ベストアンサー

マウスクリックでファイルをダウンロード

Webページ上で次のようなことは可能なのでしょうか? 1)ブラウザ上に表示されているWebページ上でマウスクリック(リンク、ボタン等) 2)必ずダウンロードのダイアログが開きダウンロードを行う 具体的に説明しますと、 WebページでPDFファイルへのリンクが張られているとします。 ブラウザでこの部分をクリックすると、PDFプラグインがインストールされていると ブラウザ内でこのPDFファイルが表示されてしまいます。 しかし、この表示をさせずに該当PDFファイルをダウンロードさせたいわけです。 リンクを右クリックして"ダウンロード"を選択すれば可能ですが、プラグインの 有無に関わらず左クリックで必ずダウンロード処理をさせたいということです。 これを実現させる方法がありましたらお教えください。 なお、WebページはCGI(Perl)を使用して表示していますので、HTML,JavaScript, Perlなら使用可能です。 以上、よろしくお願いします。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
回答No.3

Excelファイルで似たようなことをしたい、といった質問に最近答え ました。んが、外部アプリケーションを開くのではなくpdfのように プラグインの場合はこの手(URL末尾に「?xxx.zip」を付ける)は 使えないようです。 サーバ側にMIME Typeを設定し、それをContent-typeとして送信する のが本来まっとうな方法で、例えばApacheを使っていて.htaccessに よる設定が許されている環境なら(あるいはコンフィグファイルを 編集できるのなら) AddType appilcation/octet-stream pdf などにすれば、Netscapeならそれを参照しますのでダウンロードできる ようになります。(場合によってはバイナリデータがブラウザ画面に ただ表示されることもあります) この設定ができなくても、CGIでContent-typeとして適切なMIMEを吐き、 続けてpdfファイルの中身をただ出力する手がありますね。 でもIEでは、そんなことにおかまいなく拡張子だけを見てpdfだと判断 しているようで、うまくいきません。 (ftpサイトにおけば…という意見がここでもあるようですが、 httpではなくftpの場合Content-typeが送られませんので、たまたま httpではapplication/pdfのContent-typeが送られていたファイルが、 ftpだとその情報が送られなくなったため、Netscapeがただダウンロード するようになった、というだけの話です。IEはやっぱり拡張子で 勝手に判断するはずです) したがってサーバ側で工夫してもいかんともしがたいでしょう。 やはり圧縮したりして別の拡張子にし、IEのプラグイン呼び出し 判定を切りぬけなければうまくいかないと思います。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=74090
HAL68000
質問者

お礼

回答ありがとうございます。 そうですか、IEだと勝手に判断してしまうんですか。 便利なのはいいですけど、勝手にやってしまのは困りものですね。 WWWサーバはApacheなのでMIME設定してみます。 IEの場合は右クリックでダウンロードしてもらうしかなさそうですねぇ。

その他の回答 (2)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

FTPで落とすようにリンクを書けば良いんじゃないですか? <a href="ftp://ftp.どっか/落とすファイル.pdf">PDF file</a> って。

HAL68000
質問者

お礼

回答ありがとうございます。 FTPサーバは上がっていないのでNGです。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

 サーバの設定を変えられるのなら、.pdfをダウンロード設定にすれば出来ると思います。  サーバの種類を書いて下さいね。  また、私なら、PDFをそのまま置くのではなく、メールアドレスを入力して貰って、そのメールアドレスに添付でPDFを送るようにします。  いろんな意味で便利ですからね...。  どうしてもダウンロードさせたい場合には、PDFをそのまま置くのではなく、圧縮してファイルをおきます(数種類の圧縮形態の準備が必要ですので面倒ですけどね)

HAL68000
質問者

お礼

回答ありがとうございます。m(_ _)m 社内の仕組みなのでメールや圧縮といった手間(面倒な)のかかることはNGなんですよ(;_;)

関連するQ&A

  • HPでPDFファイルをクリックしたとき、AdobeReaderで開かずにダウンロードさせるには?

    Webページにおいて、PDFファイルをクリックしたら、通常はAdobeReaderでPDFファイルが開いてしまいますが、PDFファイルを開くのは重くてブラウザが固まるケースが非常に多いのでいやがる方が多く、回避したく思います。 要はカタログなどなので、開かずにダウンロードしてもらう形にしたいです。 検索していると、.htaccessを使ってダウンロード型に自動的に変更する方法があたので導入しましたが、IE7でできませんでした。 書いてあった内容 ------------------------------------------------------------ <a href="○○.pdf">PDFファイルをダウンロード</a> とタグで書けばダウンロードできます。 が、そのままだと、通常はブラウザで表示されてしまうと思います。 ダウンロードになるようにするためには 「.htaccess」ファイルなどを使って、PDFのMIMEタイプを変更をする必要があります。 手順: 「.htaccess」を作り、 ------ AddType application/octet-stream pdf ------ と記述、FTPでサーバーにアップロード。 これで、リンクをクリックすると、そのまま開かずに、ダウンロードが開始されます。 ------------------------------------------------------------ IEではダメでしたが、一応Firefoxでやってみるとダウンロード型にできました。 でも、当然ながらIEでダメなどブラウザを選ぶのではどうしようもありません。 ブラウザがどうあろうがうまくいく方法で、なるべく簡便に済ませられる方法がないでしょうか? なお、補足しますと、aタグのリンクでPDFファイルを指定しますが、そのままの記述だけだとダウンロードになってくれず、PDFファイルがブラウザで開いてしまいます。 このままの状態でダウンロードにするにはユーザ側で右クリックをしてもらわなければなりません。そうではなく左クリックしただけで勝手にダウンロードになるようにしたいです。 要は、.ZIPファイルみたいにクリックしただけでダウンロードになってくれるのが良いです。

    • ベストアンサー
    • HTML
  • 左クリックでファイルのダウンロード

    ディレクトリを指定し、その中に存在するファイルを表示してリンクをはって、 「右クリック→対象をファイルに保存」でファイルをダウンロードさせるプログラムを作ることができたのですが、 右クリックではなく、左クリックでダウンロードダイアログを表示してダウンロードさせるようにしたいです。 どのようにすれば良いのでしょうか? 使用言語はPHPです。

    • ベストアンサー
    • PHP
  • CSV を左クリックでダウンロードさせたい

     WEB スペースにあるCSV 形式のファイルを左クリックでダウンロードさせたいと思っています.ブラウザの設定でできるのでしょうか.  拡張子が例えばzip のファイルへのリンクを左クリックすると,保存するかどうかを聞くダイアログボックスが出ます.CSV ファイルへのリンクに対して左クリックすると,CSV の中身をブラウザ自身に表示します.  これを,zip などと同じような動きにしたい,すなわちローカルに保存するかどうかを聞くようにしたいのですが,何か手段はありますでしょうか.ブラウザ側の設定なのでしょうか.それともhtml の記述の問題なのでしょうか.

  • WMVファイルをダウンロードして保存できない

    Windows XPを使用しています。 PDFファイルにWMVファイルをダウンロードするリンクが提供されており、それをクリックするとダウンロードできると表示されているのですが、左クリックすると、「フォーマットが不明です」というメッセージが出て、右クリックすると「ブラウザでウェブリンクを開く」というメニューが表示され、クリックすると、メディア プレーヤーで再生されます。 ちなみに、例えば、他のmp3のリンクからはファイルとして保存できます。提供元に確認したら、提供元では正常にダウンロードできたという回答でした このデータを保存するには、CD-ROMなどに焼付けなければならないのでしょうか。 その際、「書き込み」をクリックすればよいのでしょうか。 よろしくお願いいたします。

  • htmlにてクリックするとダウンロードさせるには

    お世話になります。 WINDOWS MEです。 メモ帳にてホームページを作成しています。 (1) 良くpdfファイルをダウンロードさせるページが有りますが、 どの様に書けば良いのでしょうか? (2) その際、「ダウンロードしますか」というダイアログを表示させるには どの様にするれば良いのでしょうか? <a href=○○.pdf>クリック</a> (3) これをマクロメディアのflash MX ボタンで作成する時 on (release) { getURL("http://www.△△.com/○○.pdf"); } で良いのでしょうか? ばらばら質問して恐縮です。 (1)(2)(3)ばらばらでも構いませんので、 分かるかた、是非教えて下さい。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • pdfファイルのダウンロードのさせ方

    初歩的な質問ですみません。例えばPDFファイルをネット接続した人にブラウザからプラグインして見てもらうのでなく、一旦PCにダウンロードしてもらうような形にするにはどのようなリンクの貼り方をすればよいのでしょうか?よろしくお願いします。

  • IEでCSVファイルをダウンロードして開らいたときの添え字について

    おせわになっております。 使用ブラウザ:IE6.0 SP1 CSVファイルがリンクになっているところをクリックすると「ファイルのダウンロード」ダイアログが表示され、開くを押すとExcelが立ち上がります。Excel左上にファイル名が表示されている(シート名にもファイルが表示されている)のですが、xxxxxx[1].csvとなっています。この[1]はなんでつくのでしょうか?IEが使用するテンポラリフォルダに既に同一のファイルが存在するのでしょうか?「ファイルのダウンロード」ダイアログで保存を押すとxxxxxx.csvとなるのに。 何かご存知の方がおりましたら教えてください。

  • ファイルのダウンロードの方法を教えてください。

     全くの素人です。用語の使い方も分かりませんので,適切な表現になっていないかもしれません。 過去に同様な質問があるのかもしれませんが,簡単に見つからなかったものですから,よろしくお願いします。  使用OSはWindowsXP SP2,    WebブラウザはInternet Explorerです。     ホームページの中で紹介しているファイルを使いたいと思っています。「ダウンロード」をクリックしてくださいの指示でクリックすると,「ファイルのダウンロード」のダイアログボックスが表示されます。  「ファイルを実行または保存しますか?」と聞いてきますが,「実行(R)」と「保存(S)」のどちらを選べばよいのでしょうか。この二つはどう違うのか,普通はどちらを選べばよいのでしょうか。なお,このファイルは有償で,時々使用する予定です。  素人にも分かるように教えてください。

  • 【大至急】adobe社のPDF内のテキストリンクをクリックしても反応しないです

    Adobe-Reader8.0を使っていますが、PDF内の文章中のリンクURLが押せなくなって大変困っています! 例)  http://○○.biz/   こうゆうのをクリックしてもまったく反応しないです。  リンクURLの上にカーソルを載せても手のひらマークにもなりません。 以前はリンクURLをクリックしたら、そのリンクURL先がブラウザに表示されていたんですが、 フリーのPDF閲覧ソフト Foxit Readerとpdf 高速化のAdobe Reader SpeedUp1.36を、それぞれダウンロードしてインストールしたら、確かに快適にPDFを閲覧できるようになりましたがリンクが押せなくなりました。 Adobe-Reader8.0でもFoxit Readerで閲覧してもリンクをクリックして移動することができません。 恐らくはAdobe Reader SpeedUp1.36実行した際に多くのプラグインを外した?(デフォルトのSpeedUpで実行しました)して、リンク表示関連のプラグインも外したかと思っています。 そこでもう一度Reader SpeedUpを起動してrestore(リストア)してみたら、今度は何か英語で 「すでに同名のファイルが存在しています」 のようなエラーダイアログボックスが出てきてrestoreできないんです・・。 どうすれば解決できるでしょうか? PDFは毎日使っているのでめちゃくちゃ困っています。 どなたか教えてください<(_ _)>

  • ファイルのダウンロード

    InternetExplorer等のブラウザで任意のページでリンクさせるページがあった場合、リンク先がPDFファイルやexeファイルなどをクリックすると、「開く」or「実行」と「保存」の選択項目が出てきますが、これを「保存」のみにするようにする方法はありますか? 但し、リンク先を右クリックして対象のファイルを保存する方法を省いた方法です。また、クライアントにレジストリやPCの設定を変更させるやり方は避けたいのです。 なお、HTMLに限らずJavascriptやPHP等の言語を使用するのはOKです。 いまいち伝わりにくいと思いますが、よろしくお願いします。