- PR -

ファイルをダウンロードさせるサーブレットについて

1
投稿者投稿内容
Pi
会議室デビュー日: 2004/01/25
投稿数: 5
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)