struts1 업로드 (잠정)

2080 단어 struts1
이상: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
해결 방법: Firefox에서 href="#"를 제거합니다.jsp: function download() { loginForm.method.value="download"; loginForm.submit(); } <a onclick="download()"> PDF 파일 다운로드</a> action: public ActionForward download(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { BufferedInputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream fis = null; try{ String path = "D:/Coder Software/MyEclipse 6.5/workspace/struts1.3/web/WEB-INF/pdf/b14233.pdf"; // File file = new File(path); // // fis = new FileInputStream(file); // bis = new BufferedInputStream(fis); // // fos = response.getOutputStream(); // bos = new BufferedOutputStream(fos); // // response.setHeader("Content-disposition", // "attachment;filename=" + // URLEncoder.encode(path, "utf-8")); // int bytesRead = 0; // // byte[] buffer = new byte[8192]; // // while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) { // bos.write(buffer, 0, bytesRead); // } // bos.flush(); // fis.close(); // bis.close(); // fos.close(); // bos.close(); BufferedInputStream in = new BufferedInputStream(new FileInputStream(path)); byte[] b = new byte[1024]; int len=0; response.reset(); response.setHeader("Content-Disposition", "attachment;" + "filename=" + URLEncoder.encode(path, "utf-8")); // response.setContentType("application/x-msdownload"); ServletOutputStream out=response.getOutputStream(); while((len=in.read(b))!=-1){ out.write(b,0,len); } out.flush(); in.close(); out.close(); }catch(Exception ex) { ex.printStackTrace(); } return null; }

좋은 웹페이지 즐겨찾기