Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

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>

------------------------------ 


足りない情報等ありましたら補足しますので、ご指摘をお願いいたします。

1

回答

6517

閲覧

1件の回答

評価

0

yyy

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。