- - PR -
Tomcatから種類に関係なくファイルをダウンロードしたい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-09-15 23:01
部内でファイルを共有するようなWebアプリケーションを作ろうと思っています。サーバのOSはWindows、WebサーバはTomcatです。
FTPを使ってもいいのですが、ファイルの解説が必要なので、WEBページからダウンロードできるようにしたいと思っています。 ファイルをアップロードする方法はわかるのですが、ダウンロードする方法が思いつきません。 例えば、サーバー側のcドライブのルートにあるaaa.javaというJavaのソースをダウンロードするとき、ダウンロードページに <a href="c:/aaa.java">ダウンロード</a> と書いても、上手く動作しません。でも、zipファイルならこれでダウンロード可能です。また、jspファイルをダウンロードさせたいときに <a href="c:/aaa.jsp">ダウンロード</a> と書くと、言うまでもなくダウンロードではなく、aaa.jspに飛ぼうとします。 さすがにjspファイルをダウンロードすることは無理かなとも思うのですが、zipのように、他のファイルもダウンロードできるようにするには ・Tomcat側の設定 ・HTMLの書き方 などをどうかすれば可能でしょうか? web.xmlの <mime-mapping> <extension>zip</extension> <mime-type>application/zip</mime-type> </mime-mapping> のあたりに、どうか記述すればいいのかとも思っていますが、この方法も細かくはよくわかりませんし、アップロードされる可能性がある全てのファイルに対して記述しないといけないということだと面倒だと思っています。 お知恵をお貸し頂ければと思います。よろしくお願いいたします。 | ||||||||
|
投稿日時: 2007-09-17 09:04
href="http://" の形で書くか、相対パスで書かなきゃダメです。 いずれにしてもaaa.javaがhttpで(webを通して)見える必要があります。
こっちも消さなきゃだめです。その上でmime-mappingに設定を書けばダウンロードできますが 逆にすべてのjspはservletとして実行されなくなります。それがダメなら、aaa.jspを ファイルとして読み込んで、レスポンスに吐くプログラムを書けばよいでしょう。 | ||||||||
|
投稿日時: 2007-09-17 09:46
サーバー側でサーバーのファイルを検索して、
それを元に画面にファイルのリンクを表示すれば良いだけかと。 ただ、そのときファイルはURLで認識できるようなパスには、 置いてないと思われるので、下記のようにやればよいでしょう。
| ||||||||
|
投稿日時: 2007-09-19 16:46
べるさん
ありがとうございます。そうですね、Cドライブを見に行きますね。ローカルでモックアップを作成してテストしていたので気付きませんでした。 ちょっと試してみます。 > 逆にすべてのjspはservletとして実行されなくなります。それがダメなら、aaa.jspを > ファイルとして読み込んで、レスポンスに吐くプログラムを書けばよいでしょう。 JSPは共有化のニーズが少ないので、諦める方向で検討しています。。 takuさん ありがとうございます。 テキストで表示できるようなものならいいのですが、バイナリ(jarなど)があるので、どうしたものかと思っております。。 また、試してみて、うまくいったらご報告させていただきます。<(_ _)> | ||||||||
|
投稿日時: 2007-09-20 10:09
通常のHTTPアクセスはダウンロードなのではないでしょうか。
ダウンロードした時に表示するか保存するかは、ウェブブラウザがContent-typeを見て表示できない場合に保存しているだけで。 ブラウザの設定に依存しますが、未知のContent-typeであれば保存するのでは。 なのでjspでファイルを読んでContent-typeはapplication/dataに設定し出力すれば、ある程度要望は満たせそうです。 htmlのa要素にtype属性がありますが、ブラウザの対応は確認してません。 <a href="a.txt" type="application/data"> とか。 | ||||||||
|
投稿日時: 2007-09-20 17:38
れいさん
できました! なるほど、そういう仕組みなんですね。やっと腑に落ちました。 どうもありがとうございました。 |
1