Content-Disposition头

用于在客户端弹出保存对话框。

方法1.

Content-Disposition虽然不是一个标准,但是大多浏览器已经支持。

 

用法如

response.setHeader("Content-Disposition", "attachment;filename="+filename+".xls");

至于filename一项(浏览器根据filename的后缀名来判断用什么类型软件打开 ),如果是有中文,可以用以下编码方式的一种:

String filename = new String( "中文".getBytes("gb2312"), "ISO8859-1" );

String filename = java.net.URLEncoder.encode("中文", "utf8");

 

方法2.

response.setContentType("application/vnd.ms-excel")也是可以实现在客户端弹出保存对话框。(在response里面用输出流输出内容)

 

 

 

 

以下实例代码:

response.setContentType("application/vnd.ms-excel");
		response.addHeader("Cache-Control",
				"no-store, no-cache, must-revalidate");
		response.addHeader("Cache-Control", "post-check=0, pre-check=0");
		response.setHeader("Pragma", "No-cache");
		response.setDateHeader("Expires", 0);
		response.setHeader("Content-Disposition",
				"attachment;filename=export.xls");

		byte[] b = FileUtils.readFile(new File("c:/yoyo.xls"));
		response.getOutputStream().write(b);
		response.getOutputStream().close();

你可能感兴趣的:(c,.net,浏览器,cache,Excel)