读书人

struts1下传(暂记)

发布时间: 2012-09-10 11:02:32 作者: rapoo

struts1上传(暂记)
异常:ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
解决办法:<a href="#" onclick="download()">在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;}


读书人网 >编程

热点推荐