jsp页面下载文件

.将建立的excel文档转换成须要输出的流:能够是文件流放在硬盘中,也能够是输出流输出到浏览器供下载。  ◆  文件流:FileOutputStreamhtml

1         FileOutputStream fos = new FileOutputStream("F://workbook.xls"); 2  workBook.write(fos); 3 fos.close();

  ◆  输出流 :response.getOutputStream()java

1    response.reset(); 2 response.setContentType("application/vnd.ms-excel;charset=gbk"); 3 response.setHeader("Content-Disposition", "attachment;filename=account.xls"); 4 OutputStream out = response.getOutputStream(); 5  workBook.write(out); 6 out.close(); 

  ◆ tip:浏览器

    *response.reset();清除首部的空白行
         * getResponse的getWriter()方法连续两次输出流到页面的时候,第二次的流会包括第一次的流,
         * 因此能够使用response.reset或者resetBuffer的方法。
         * resetBuffer方法与reset方法的区别是,头和状态码没有清除。app

         若是发现这样设置后浏览器端并无弹出【文件另存为】选择路径窗口,请检查下前面代码是否出现:编码

  1.response.setContentType("text/html;charset=UTF-8");//设置编码格式
      2.PrintWriter out = response.getWriter();致使没法肯定输出流spa

三、excel文件名为中文时乱码或者出现未知文件类型错误时,考虑用URLEncoder对文件名进行转码.net

   

  

1         String name = java.net.URLEncoder.encode(fileName, "utf-8"); 2 response.setContentType("application/vnd.ms-excel;charset=utf-8"); 3 response.setHeader("Content-Disposition", "attachment;filename="+name.toString()+".xls"); 4 OutputStream out = response.getOutputStream(); 5  workBook.write(out); 6 out.close(); 
相关文章
相关标签/搜索