不同浏览器下载文件,附件名编码改写,长尾是啥?
- 内容介绍
- 文章标签
- 相关推荐
本文共计189个文字,预计阅读时间需要1分钟。
文件名编码/**/下载文件时,针对不同浏览器,执行以下操作:- 编码:使用附件名称的编码- @param filename:下载文件的名称- @param agent:客户端浏览器的User-Agent- @return:编码后的下载文件名称- @throws UnsupportedEncodingException
文件名编码/** * 下载文件时,针对不同浏览器,进行附件名的编码 * * @param filename * 下载文件名 * @param agent * 客户端浏览器的User-Agent * @return 编码后的下载附件名 * @throws UnsupportedEncodingException * @throws IOException */ public String encodeDownloadFilename(String filename, String agent) throws UnsupportedEncodingException { if (agent.contains("Firefox")) { // 火狐浏览器 filename = "=?UTF-8?B?" + new org.apache.commons.codec.binary.Base64().encode(filename.getBytes("utf-8")) + "?="; filename = filename.replaceAll("\r\n", ""); } else { // IE及其他浏览器 filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+"," "); } return filename; }
本文共计189个文字,预计阅读时间需要1分钟。
文件名编码/**/下载文件时,针对不同浏览器,执行以下操作:- 编码:使用附件名称的编码- @param filename:下载文件的名称- @param agent:客户端浏览器的User-Agent- @return:编码后的下载文件名称- @throws UnsupportedEncodingException
文件名编码/** * 下载文件时,针对不同浏览器,进行附件名的编码 * * @param filename * 下载文件名 * @param agent * 客户端浏览器的User-Agent * @return 编码后的下载附件名 * @throws UnsupportedEncodingException * @throws IOException */ public String encodeDownloadFilename(String filename, String agent) throws UnsupportedEncodingException { if (agent.contains("Firefox")) { // 火狐浏览器 filename = "=?UTF-8?B?" + new org.apache.commons.codec.binary.Base64().encode(filename.getBytes("utf-8")) + "?="; filename = filename.replaceAll("\r\n", ""); } else { // IE及其他浏览器 filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+"," "); } return filename; }

