- - PR -
ファイルをダウンロードさせるサーブレットについて
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-01-26 09:58
はじめまして、お世話になります。
現在、ファイルをダウンロードさせるサーブレットを作成しているのですが ダウンロードするファイル名が「test.000.pdf」ですと ダウンロードダイアログにおいてデフォルトで表示されるファイル名が 「test[1].000.pdf」となってしまいます。 ピリオドがファイル名に複数個ありますと、最初のピリオドの前に [数字]がついてしまうようです。 環境は以下の通りです。 JDK 1.3.1 Apache2.0.47 Tomcat 4.1.24 IE6.0 また、ブラウザをNNにしますとファイル名が変化することはありませんでしたので IEの問題だと思いますが、ファイル名変化を回避する方法はありませんでしょうか? よろしくお願いいたします。 import java.io.*; import java.net.*; import javax.mail.internet.*; import javax.servlet.*; import javax.servlet.http.*; public class DownloadPDF extends HttpServlet{ public void doPost(javax.servlet.http.HttpServletRequest request,javax.servlet.http.HttpServletResponse response) { try { OutputStream out = response.getOutputStream(); String file_name = "test.000.pdf"; File file = new File("C:/test/" + file_name); long size = file.length(); FileInputStream in = new FileInputStream("C:/test/" + file_name); response.setContentLength((int)size); response.setContentType("application/pdf"); // response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=" + file_name); int c; while ((c = in.read()) != -1) { out.write(c); } out.close(); in.close(); } catch (Exception ex) { } } public void doPost(HttpServletRequest request, HttpServletResponse response){ doGet(request, response); } } |
1
