response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
****注意 ByteArrayOutputStream字节数组输出流可以存储数据
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。
Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考。
//设置对外输出类型为xlms
resp.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
//修改生成文件名
resp.addHeader("Content-Disposition","attachment;filename=导出文件.xlsx");
//中文名输出要经过8859-1转译
String name = new String("导出数据.xlsx".getBytes(),"iso8859-1");
//修改生成文件名
resp.addHeader("Content-Disposition","attachment;filename="+name);