import java.io.IOException;
import java.net.URLEncoder; import sun.misc.BASE64Encoder; public class FileUtils {
/**
* 下载文件时,针对不同浏览器,进行附件名的编码
*
* @param filename
* 下载文件名
* @param agent
* 客户端浏览器
* @return 编码后的下载附件名
* @throws IOException
*/
public static String encodeDownloadFilename(String filename, String agent)
throws IOException {
if (agent.contains("Firefox")) { // 火狐浏览器
filename = "=?UTF-8?B?"
+ new BASE64Encoder().encode(filename.getBytes("utf-8"))
+ "?=";
filename = filename.replaceAll("\r\n", "");
} else { // IE及其他浏览器
filename = URLEncoder.encode(filename, "utf-8");
filename = filename.replace("+"," ");
}
return filename;
}
}

最新文章

  1. Intelli IDEA 设置项目编码(Mac)
  2. WWW读取安卓外部音乐文件
  3. JavaScript——基本的瀑布流布局及ajax动态新增数据
  4. sql:sum(value)与count(letter),当用户不存在时查询到的值
  5. 11. 星际争霸之php设计模式--备忘模式
  6. win7 :安装SQL2005
  7. PL/SQL注册码
  8. 【简译】jQuery对象的奥秘:基础介绍
  9. iOS 键盘弹出遮挡输入框
  10. Ubuntu 简单安装 Docker
  11. ThinkPHP系统变量,常量,序列化,反序列化,缓存
  12. 如何使用纯CSS制作特效导航条?
  13. __x__(26)0907第四天__文档流_网页最底层
  14. Jvm 参数笔记
  15. Tomcat7/8访问Server Status、Manager App、Host Manager出现403 forbidden
  16. Numpy copy & deep copy
  17. andorid——自定义seekbar(转)
  18. LeetCode-Sort List[AC源码]
  19. bin2lib shell脚本
  20. BZOJ3495 PA2010 Riddle 【2-sat】

热门文章

  1. Kaggle之路,与强者为伍——记Santander交易预测
  2. Mysql日期类型大小比较---拉取给定时间段的记录
  3. No result defined for action and result input
  4. postgresql 备份与恢复
  5. [转]How to get return values and output values from a stored procedure with EF Core?
  6. [转]MongoDB 概念解析
  7. Asp.Net 之字符串和集合的使用
  8. [PHP] PHP数组的实现哈希表(HashTable)结构
  9. 04-Tomcat体系结构与插件配置
  10. Map 模板