`

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;
	}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics