- <%@ page language="java" import="java.io.*,java.util.zip.*" pageEncoding="GBK"%>
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
- <title>File download!</title>
- </head>
- <body>
- <%
- response.setContentType("unknown");
- String fileName =java.net.URLEncoder.encode("导出数据.rar","UTF-8");
- response.setHeader("Content-disposition","attachment; filename="+fileName);
- try
- {
- OutputStream os = response.getOutputStream();
- ZipOutputStream zos = new ZipOutputStream(os);
- ZipEntry entry = new ZipEntry("data.txt");
- zos.putNextEntry(entry);
- int number;
- for(int i=0;i<15;i++)
- {
- byte[] buffer = ("中文"+i+System.getProperty("line.separator")).getBytes();
- zos.write(buffer,0,buffer.length);
- }
- zos.closeEntry();
- zos.close();
- }catch(IOException e)
- {
- out.println(e);
- }
- %>
- </body>
- </html>
程序将一些中文字符和数字写入data.txt中并打包为导出数据.rar并弹出窗口供浏览者下载. 程序运行时开始总是显示一些乱码无法排除,在同事的帮助下 才知道是mime类型作怪, 原来服务器上web.xml没有禁止对于rar文件的显示,编辑web.xml添加以下内容即可:
- <mime-mapping>
- <extension>rar</extension>
- <mime-type>application/rar</mime-type>
- </mime-mapping>
- <%@ page language="java" import="java.io.*,java.util.zip.*" pageEncoding="GBK"%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
- <title>File download!</title>
- </head>
- <body>
- <%
- response.setContentType("unknown");
- String fileName =java.net.URLEncoder.encode("导出数据.rar","UTF-8");
- response.setHeader("Content-disposition","attachment; filename="+fileName);
- try
- {
- OutputStream os = response.getOutputStream();
- ZipOutputStream zos = new ZipOutputStream(os);
- ZipEntry entry = new ZipEntry("data.txt");
- zos.putNextEntry(entry);
- int number;
- for(int i=0;i<15;i++)
- {
- byte[] buffer = ("中文"+i+System.getProperty("line.separator")).getBytes();
- zos.write(buffer,0,buffer.length);
- }
- zos.closeEntry();
- zos.close();
- }catch(IOException e)
- {
- out.println(e);
- }
- %>
- </body>
- </html>
程序将一些中文字符和数字写入data.txt中并打包为导出数据.rar并弹出窗口供浏览者下载. 程序运行时开始总是显示一些乱码无法排除,在同事的帮助下 才知道是mime类型作怪, 原来服务器上web.xml没有禁止对于rar文件的显示,编辑web.xml添加以下内容即可:
- <mime-mapping>
- <extension>rar</extension>
- <mime-type>application/rar</mime-type>
- </mime-mapping>