- ベストアンサー
ファイルのダウンロードについて知りたい
- jspに<a href="ファイル名">ダウンロード</a>でファイルをダウンロードすることができません。アドレス指定方法を試行錯誤しています。
- Windows XPでファイルのダウンロードについて教えてください。
- ファイルダウンロード方法を教えていただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これは、IEなどブラウザが、ファイルの種類を検知して、 勝手に開いてしまう動作なので、 本来的には対処しようがないです。 なんとかやろうとする場合、 ○直接ファイルにリンクを張らない。 ○ダウンロード用のサーブレット/JSPを作成する。 ○リンクは、そのサーブレット/JSPを対象とし、 パラメータでファイルを指定する。 ○サーブレット/JSP側で指定されたファイルを読み込む。 ○サーブレット/JSPが読み込んだデータをレスポンスする。 という修正が必要です。 このレスポンスするときに、いくつか属性をヘッダーに設定する必要があります。 (属性)Content-disposition Content-disposition: attachment; filename=ファイル名 これでファイル・ダウンロードと認識させる。 http://www.tohoho-web.com/lng/b200005/00050035.htm http://www.stackasterisk.jp/tech/java/download01_01.jsp
その他の回答 (1)
- run34ricky
- ベストアンサー率64% (38/59)
うーんと明らかに指定の仕方が、ローカルでのパス指定ですね。 C:\とか。。 Webサーバーを利用している以上、物理的に同じマシンでも、ローカルのパスを利用しません。 そのJSPファイルからみて相対パス(./xxxx.txtとか)や、Webアプリケーションのルートから見たパス(/aaa/bbb/xxxx.txtとか)を指定しないといけません。 あと、テキストファイル、Officeファイルは、ダウンロード画面が表示されずにブラウザ上で開かれる場合があります(ネットワーク的にはダウンロードしているのですが、保存ダイアログが表示されない) なので、 <a href="./test.txt">1</a> <a href="sample.csv">2</a> <a href="./sample.csv">7</a> これらがどう動作しているのか? JSPファイルと、対象のファイルの位置関係の補足をお願いします。
補足
ご回答ありがとうございました。ご指摘の点について補足します。 <a href="./test.txt">1</a> <a href="sample.csv">2</a> <a href="./sample.csv">7</a> とするとダウンロード画面が表示されずにブラウザ上で開かれてしまいます。 JSPファイルと、ダウンロード対象のファイルの位置関係についてですが JSPファイルを C:\Program Files\Tomcat 6.0\webapps\servlet\pages\sample.jspに置きます。 ダウンロードしたいファイルを C:\Program Files\\Tomcat 6.0\webapps\servlet\download\sample.csvと C:\download\sample.csvに置きたいと考えています。
補足
ご回答ありがとうございました。 http://www.stackasterisk.jp/tech/java/download01_01.jspのHPを 参考にプログラムを動かしてみたのですがファイルのダウンロードは できるようになりました。しかし、ダウンロードするファイルが何故か C:\Program Files\eclipseのディレクトリからとなってしまいます。 ダウンロードするファイルのディレクトリを自由に設定するには どのようにすればよいのでしょうか。お忙しいところ申し訳けありません がご回答いただけませんでしょうか。よろしくお願いいたします。