Content disposition
HTTP response header中的content-disposition 容许 servlet 指定文档表示的信息。使用这种header ,你就能够将文档指定成单独打开(而不是在浏览器中打开),还能够根据用户的操做来显示。若是用户要保存文档,你还能够为该文档建议一个文件名。这个建议 名称会出如今 Save As 对话框的“文件名”栏中。若是没有指定,则对话框中就会出现 servlet 的名字。
servlet 中,将 header 设置成下面这样:
response.setHeader("Content-disposition","attachment;filename="+ "Example.xls" );
response.setHeader("Content-Disposition", "inline; filename="fliename);//点击打开会在ie中打开。
须要说明的有三点:
(1) 中文文件名须要进行iso8859-1转码方可正确显示:
fileName = new String(fileName.getBytes("GBK"),"iso8859-1");
(2)传递的文件名,须要包含后缀名(若是此文件有后缀名),不然丢失文件的属性,而不能自行选择相关程序打开。
(3)有下载前询问(是打开文件仍是保存到计算机)和经过IE浏览器直接选择相关应用程序插件打开两种方式,前者如上代码所示,后者以下:
response.setHeader("Content-disposition","filename="+ "Example.xls" );浏览器