如何针对不同浏览器下载文件时,实现附件名的有效编码?

更新于
2026-09-30 20:53:50
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计171个文字,预计阅读时间需要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; }

本文共计171个文字,预计阅读时间需要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; }