jsp中实现压缩文件下载

来源:互联网 发布:nginx favicon 不显示 编辑:程序博客网 时间:2024/05/21 08:46

jsp中实现压缩文件下载

  1. <%@ page language="java" import="java.io.*,java.util.zip.*" pageEncoding="GBK"%>
  2.  
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
  7. <title>File download!</title>
  8. </head>
  9. <body>
  10. <%
  11.  response.setContentType("unknown");
  12.  String fileName =java.net.URLEncoder.encode("导出数据.rar","UTF-8");
  13.  response.setHeader("Content-disposition","attachment; filename="+fileName);
  14.  try
  15.  {
  16.  OutputStream os = response.getOutputStream();
  17.  ZipOutputStream zos = new ZipOutputStream(os);
  18.  ZipEntry entry = new ZipEntry("data.txt");
  19.  zos.putNextEntry(entry);
  20.  int number;
  21.  for(int i=0;i<15;i++)
  22.  {
  23.  byte[] buffer = ("中文"+i+System.getProperty("line.separator")).getBytes();
  24.  zos.write(buffer,0,buffer.length);
  25.  }
  26.  zos.closeEntry();
  27.  zos.close();
  28.  }catch(IOException e)
  29.  {
  30.  out.println(e);
  31.  }
  32. %>
  33. </body>
  34. </html>

程序将一些中文字符和数字写入data.txt中并打包为导出数据.rar并弹出窗口供浏览者下载. 程序运行时开始总是显示一些乱码无法排除,在同事的帮助下 才知道是mime类型作怪, 原来服务器上web.xml没有禁止对于rar文件的显示,编辑web.xml添加以下内容即可:

  1. <mime-mapping>
  2.  <extension>rar</extension>
  3.  <mime-type>application/rar</mime-type>
  4.  </mime-mapping>

 
原创粉丝点击