【转载】不同文件格式导出HttpServletResponse响应头设置

编码格式为UTF-8

response.setCharacterEncoding("UTF-8");

让服务器告诉浏览器它发送的数据属于excel文件类型

response.setContentType("application/vnd.ms-excel;charset=UTF-8");

 

其他常用类型:

    'doc'  => 'application/msword',
    'bin'  => 'application/octet-stream',
    'exe'  => 'application/octet-stream',
    'so'   => 'application/octet-stream',
    'dll'  => 'application/octet-stream',
    'pdf'  => 'application/pdf',
    'ai'   => 'application/postscript',
    'xls'  => 'application/vnd.ms-excel',
    'ppt'  => 'application/vnd.ms-powerpoint',
    'dir'  => 'application/x-director',
    'js'   => 'application/x-javascript',
    'swf'  => 'application/x-shockwave-flash',
    'xhtml'=> 'application/xhtml+xml',
    'xht'  => 'application/xhtml+xml',
    'zip'  => 'application/zip',
    'mid'  => 'audio/midi',
    'midi' => 'audio/midi',
    'mp3'  => 'audio/mpeg',
    'rm'   => 'audio/x-pn-realaudio',
    'rpm'  => 'audio/x-pn-realaudio-plugin',
    'wav'  => 'audio/x-wav',
    'bmp'  => 'image/bmp',
    'gif'  => 'image/gif',
    'jpeg' => 'image/jpeg',
    'jpg'  => 'image/jpeg',
    'png'  => 'image/png',
    'css'  => 'text/css',
    'html' => 'text/html',
    'htm'  => 'text/html',
    'txt'  => 'text/plain',
    'xsl'  => 'text/xml',
    'xml'  => 'text/xml',
    'mpeg' => 'video/mpeg',
    'mpg'  => 'video/mpeg',
    'avi'  => 'video/x-msvideo',
    'movie'=> 'video/x-sgi-movie', 

 

描述内容在传输过程中的编码格式,BINARY可能不止包含非ASCII字符,还可能不是一个短行(超过1000字符)。

response.setHeader("Content-Transfer-Encoding", "binary");

 

must-revalidate:强制页面不缓存,post-check=0, pre-check=0:0秒后,在显示给用户之前,该对象被选中进行更新

response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");

 

表示响应可能是任何缓存的,即使它只是通常是非缓存或可缓存的仅在非共享缓存中。

response.setHeader("Pragma", "public");

 

告诉浏览器这个文件的名字和类型,attachment:作为附件下载;inline:直接打开

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


 

原文地址:https://blog.csdn.net/tianjidudao/article/details/85123546

你可能感兴趣的:(其他)