下面小编就为大家分享一篇java文件下载设置中文名称的实例(response.addHeader),具有很好的参考价值,希望对大家有所帮助
实例如下:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String browser = ""; String fileName = "测试.txt"; try { browser = request.getHeader("User-Agent"); if (-1 <browser.indexOf("MSIE 6.0") || -1 <browser.indexOf("MSIE 7.0")) { // IE6, IE7 浏览器 response.addHeader("content-disposition", "attachment;filename=" + new String(fileName.getBytes(), "ISO8859-1")); } else if (-1 <browser.indexOf("MSIE 8.0")) { // IE8 response.addHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fil<p style="color:transparent">来源gao!%daima.com搞$代*!码网</p>eName, "UTF-8")); } else if (-1 <browser.indexOf("MSIE 9.0")) { // IE9 response.addHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); } else if (-1 <browser.indexOf("Chrome")) { // 谷歌 response.addHeader("content-disposition", "attachment;filename*=UTF-8''" + URLEncoder.encode(fileName, "UTF-8")); } else if (-1 0) { out.write(buffer,0,len);//将缓冲区的数据输出到客户端浏览器 } in.close(); out.flush(); out.close(); }
判断各个浏览器,然后进行解码和加码。
以上就是java文件下载设置中文名称的实例(response.addHeader)的详细内容,更多请关注gaodaima搞代码网其它相关文章!