下载前判断浏览器类型
采用不同的文件名编码方式
网上通用的做法是使用 javamail里的一个工具类
后来经过试验,我们可以使用更轻量级的jar包
commons-codec.jar
apache的一个小项目.
下面是实现文件名编码的方法
// 其中 Base64 类来自 org.apache.commons.codec 组件 一个40多k的jar 要比javamail里的那个简洁很多
public static String encodeFileName(HttpServletRequest request, String fileName) throws UnsupportedEncodingException {
String agent = request.getHeader("USER-AGENT");
if (null != agent && -1 != agent.indexOf("MSIE")) {
return URLEncoder.encode(fileName, "UTF8");
}else if (null != agent && -1 != agent.indexOf("Mozilla")) {
return "=?UTF-8?B?"+(new String(Base64.encodeBase64(fileName.getBytes("UTF-8"))))+"?=";
} else {
return fileName;
}
}
分享到:
相关推荐
Java 读取 TXT 文本文件乱码解决方案 Java 读取 TXT 文本文件时可能会出现乱码问题,这个问题是由于字符集编码不正确引起...不同的编码格式需要使用不同的读取方式,了解 TXT 文本文件的编码格式是解决问题的第一步。
解决FF和IE下载文件乱码问题的关键在于识别浏览器类型并适当地进行文件名编码。通过编写这样的工具类,可以有效地避免因编码差异导致的乱码问题,提高用户体验。需要注意的是,随着浏览器的更新迭代,这个问题可能...
FatFs文件系统是嵌入式...正确执行这些步骤后,你就可以在FatFs文件系统中顺利地创建、访问和管理包含长文件名(包括中文)的文件了。这对于嵌入式系统中的文件操作至关重要,尤其是需要处理多语言文件名的应用场景。
总之,解决JSON中文乱码问题的关键在于确保在读写文件以及转化JSON字符串时都正确地指定和处理UTF-8编码。在Python 2.x中,使用`codecs.open`并在`json.dumps`中设置`ensure_ascii=False`;在Python 3.x中,直接使用...
js导出execl(支持IE,FF,chrome),并解决FF,chrome下的中文乱码
总的来说,这个“微信Emoji表情带文件名149个打包.zip”文件是微信用户和开发者的一个实用资源,它涵盖了从基本的文件管理和表情使用,到更高级的编程和数据分析等多个IT领域的相关知识。无论是为了日常聊天的乐趣,...
Java 读取 TXT 文本文件时遇到乱码问题通常是由于编码格式不匹配导致的。在 Java 中,当读取文本文件时,默认使用的是平台的默认编码,这在处理某些特定编码的文件时可能会引发乱码。以下是针对这个问题的详细解释和...
此外,对于其他可能出现的IE中文乱码问题,开发者也可以从以下几个方面进行排查和解决: 1. 检查并确保服务器端的字符集设置正确,如Tomcat的`server.xml`中的`URIEncoding`属性应设置为UTF-8。 2. 确保HTML页面的`...
在开发Web应用时,兼容性问题常常困扰着开发者,尤其是针对不同的浏览器,如Internet Explorer(IE)和Mozilla Firefox(FF)。这两个浏览器在处理JavaScript和CSS样式时存在诸多差异,这使得代码在不同环境下表现不...
为了解决这一问题,我们可以采用Java的`FTPClient`库来进行文件的下载工作,该库提供了更为灵活和强大的文件传输功能,尤其适合处理复杂的文件路径和名称。 #### 解决方案详解 1. **引入FTPClient库** 首先,...
FF.rar 是一个压缩文件,其文件名包含了"ff3338"以及网址"www.ff3338.com"的元素,这可能是指向某个特定的项目、资源或服务。"Ford folcerson algotirm"在描述中提及,但没有提供足够的上下文来确定它的确切含义。...
Java 读取 TXT 文本文件时遇到乱码问题通常是由于编码格式不匹配导致的。在 Java 中,当读取文本文件时,默认使用的是平台的默认编码,这在处理非 ASCII 字符时可能会出现问题,尤其是当文件采用不同编码(如 UTF-16...
### IE与FF脚本兼容性问题详解 #### 一、概述 随着Web技术的发展,不同浏览器之间的兼容性问题一直是前端开发者关注的重点。本文主要探讨Internet Explorer(简称IE)与Mozilla Firefox(简称FF或MF)之间在...
在Java中,读取和写入文件时遇到的乱码问题通常源于编码格式不匹配。文件可能使用了特定的字符编码(例如UTF-8、GBK等),而Java程序在处理这些文件时没有正确识别或指定这个编码,从而导致乱码。解决这个问题的关键...
本示例通过"java跨全域兼容ie/ff/chrome浏览器多文件上传(原创)"的标题,我们可以看出这是一个解决浏览器兼容性问题并实现跨域文件上传的解决方案。下面将详细解释这个主题涉及的关键知识点。 1. **跨域资源共享 ...
FF和IE的兼容性问题一直是前端开发者面临的重要挑战。这些浏览器在处理JavaScript、DOM操作以及事件处理等方面的差异,可能导致代码在不同浏览器上表现不一致。以下是对这些兼容性问题的详细解析和解决策略: 1. **...
以下是对这两个字段以及如何解决文件名乱码问题的详细解释: 1. **强制下载**: - `header("Content-Type: application/force-download")`:这行代码设置了HTTP响应头中的`Content-Type`字段,将其设置为`...
JavaScript(简称JS)是一种广泛应用于Web开发的脚本语言,它在不同的浏览器中可能存在兼容性问题,特别是Internet Explorer(IE)和Firefox(FF)之间。这两个浏览器对JS的实现方式有所不同,导致某些特性或功能在...
- 如果以上步骤仍然无法解决问题,建议检查是否安装了与系统语言环境不兼容的字体,或是某些软件的兼容性设置需要调整。 - 对于特定软件中的乱码问题,可以尝试更新软件版本或者查找是否有专门针对该软件的解决方案...
FATFS(File Allocation Table File System)是一种广泛使用的文件系统,它允许微控制器处理文件和目录,实现读写操作。本主题将深入探讨如何在STM32上实现对SD卡的FATFS支持,特别是关于长文件名的处理。 首先,...