여러개의 파일을 한꺼번에 다운로드 하려고 하니까 이것저것 걸리는 것이 많아서 <div>그냥 zip 파일로 묶은 다음에 zip 파일을 다운로드 하려고 합니다</div> <div>그런데 파일 압축까지는 잘 되고 만들어진 zip 파일을 찾아가는데도</div> <div>다운로드창이 나타나지 않는군요</div> <div><br></div> <div>혹시나 같은 문제를 격으신 분이 계시거나 해결법을 아시는 분 계시면</div> <div>조언 좀 부탁드리겠습니다</div> <div><br></div> <div>제가 만든 소스입니다</div> <div><br></div> <div>public void fileDownload(HttpServletRequest request, HttpServletResponse response) throws Exception {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//파일을 임시저장소에 넣은다음에 zip파일로 압축하는 코딩은 생략합니다</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>File zipFile = new File("위에서만들어진zip파일");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>try{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>response.setContentType("application/zip");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>response.setHeader("Content-Transfer-Encoding:", "binary"); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>response.setHeader("Content-Disposition", "attachment;filename=" + new String(outFilename.getBytes("ksc5601"), "8859_1") + ";"); <span class="Apple-tab-span" style="white-space:pre;"> </span>response.setHeader("Content-Length", "" + zipFile.length());</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>byte b[] = new byte[1024]; </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>fin = new BufferedInputStream(new FileInputStream(zipFile)); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>outs = new BufferedOutputStream(response.getOutputStream());</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int read = 0; </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>while ((read = fin.read(b)) != -1) {outs.write(b,0,read); }</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}catch (Exception e){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>e.printStackTrace(); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}finally{ </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (outs!=null) outs.close();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (fin!=null) fin.close();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>}</div> <div><br></div> <div>구글링을 한 결과 <span style="font-size:9pt;line-height:1.5;">response 옵션을 주는 부분에서 무언가 누락되거나 잘못되거나 하면</span></div> <div><span style="font-size:9pt;line-height:1.5;">다운로드창이 안뜬다던데 혹시 제가 잘못 코딩한 부분이 있는지요?</span></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.