文件下载

亲试好用,不过我用herf调servlet下载的,用herf走get方法,转自:

http://chen2337.blog.163.com/blog/static/340399202007716200808/

 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       String pathsavefile="C:/测试文件(下载).txt";//要下载的文件
       String fileName="下载返回文件测试.txt";//保存窗口中显示的文件名
       try
       {
       response.reset();
       response.setContentType("APPLICATION/OCTET-STREAM");
/*要显示到客户端的文件名转码是必需的,特别是中文名,
        * 否则可能出现文件名乱码甚至是浏览器显示无法下载的问题*/
       fileName=response.encodeURL(newString(fileName.getBytes(),"ISO8859_1"));//转码
       response.setHeader("Content-Disposition", "attachment; filename=\""+fileName+"\"");
      
       ServletOutputStream out = response.getOutputStream();
       InputStream inStream=new FileInputStream(pathsavefile);
        //循环取出流中的数据
       byte[] b = new byte[1024];
       int len;
       while((len=inStream.read(b)) >0)
       out.write(b,0,len);
      
        response.setStatus( response.SC_OK );
        response.flushBuffer();
       out.close();
       inStream.close();
       }
       catch (Exception e)
       {
       System.out.println(e);
       }
    }


你可能感兴趣的:(文件下载,浏览器,request,中文名,public)