0
複数ファイルのダウンロードについて
お世話になっております。
現在、下記のような現象が発生し、原因が分からず困っています。
何かアドバイスを頂けると助かります。
------------------------------
■現象
CSVファイル(3ファイル)のダウンロード処理において、
下記の環境1では、ファイルの保存先を指定する「ファイルのダウンロード」画面が3回表示され、
3ファイルとも正常にダウンロードできますが、
下記の環境2では、「ファイルのダウンロード」画面が1回しか表示されず、
ファイルも3ファイル中の1ファイルしかダウンロードできない。
(downloadメソッドはきちんと3回呼ばれていることを確認しましたが、
「ファイルのダウンロード」画面が1回(最後の1つ?)しか表示されません。)
※資源
・Struts1.1
・Tomcat4.1.24
■環境1(正しく動作する)
IE:6.0 SP1
OS: Windows 2000
■環境2(正しく動作しない)
IE:6.0 SP2
OS: Windows XP
------------------------------
■Javaソース(ダウンロード部分)
private ActionForward download(String action,
ActionMapping mapping,
HttpServletRequest req,
HttpServletResponse res,
String[] names)throws Exception{
try {
String path = names[0];
String fileName = names[index];
File f = new File(path + fileName);
if(f.exists()){
res.setContentType ("application/octet-stream");
res.addHeader("Content-Disposition","attachment; FileName = "+ fileName);
InputStream in = new FileInputStream(f);
ServletOutputStream outs = res.getOutputStream();
byte[] buf = new byte[2048];
int i = 0;
try {
while ( i >= 0) {
i = in.read(buf);
outs.write(buf, 0, i);
}
outs.flush();
outs.close();
in.close();
…
-----------------------------
■JSP
<script language="JavaScript">
function download_submit(form,actionStr,target) {
form.target = target;
form.action = actionStr;
form.submit();
}
</script>
</head>
<body onLoad="load();
download_submit(document.LGC0201FR01,'/LMS/LBI0201.do?action=download1','test1');
download_submit(document.LGC0201FR01,'/LMS/LBI0201.do?action=download2','test2');
download_submit(document.LGC0201FR01,'/LMS/LBI0201.do?action=download3','test3');
">
</logic:equal>
------------------------------
足りない情報等ありましたら補足しますので、ご指摘をお願いいたします。