2004/01
Webサイトにダウンロード機能を持たすには?
1. 〜.zipのようなダウンロードファイルと解釈される拡張子のファイルに
リンクを張る。(そのリンクをクリックするとダウンロードダイアログが出る)
2. ダウンロード先のストリームに向かってデータを出力する。
(ダウンロードダイアログが出る)
の2つがあります。1.はJavaに関係ないので、今回は2.をやってみたいと
思います。意外と簡単に出来ます。逆にアップロードのが難しいです。
ではソースを見てみましょう!
package etc; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class DownloadServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition" , "attachment; filename=\"downloadFile.txt\""); OutputStream out = response.getOutputStream(); byte[] downloadData = "やまろう".getBytes(); out.write(downloadData); out.close(); } }
APサーバに配備して、ブラウザでアクセスしましょう!
tomcatを使う場合、一番簡単なのは、
%TOMCAT_HOME%/webapps/examples/WEB-INF/classes/etc
にDownloadServlet.classをコピーして
http://localhost:8080/examples/servlet/etc.DownloadServlet
にブラウザでアクセスすると、ダウンロードダイアログが出てくるので
保存を押してファイル名入れて保存押すとファイルがダウンロードされます。
ファイルの中身は
やまろう
となってるはずです。
やまろう