转自:http://www.iteye.com/topic/50414
private String processFileName(String fileName,String agent) throws IOException{
String codedfilename = null;
if (null != agent && -1 != agent.indexOf("MSIE")){
String prefix = fileName.lastIndexOf(".")!=-1?fileName.substring(0,fileName.lastIndexOf(".")):fileName;
String extension = fileName.lastIndexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")):"";
String name = java.net.URLEncoder.encode(fileName, "UTF8");
if(name.lastIndexOf("%0A")!=-1){
name = name.substring(0,name.length()-3);
}
int limit = 150 - extension.length();
if (name.length() > limit) {
name = java.net.URLEncoder.encode(prefix.substring(0, Math.min(prefix.length(), limit / 9)), "UTF-8");
if(name.lastIndexOf("%0A")!=-1){
name = name.substring(0,name.length()-3);
}
}
codedfilename = name + extension;
} else if (null != agent && -1 != agent.indexOf("Mozilla")) {
codedfilename = "=?UTF-8?B?"+(new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileName.getBytes("UTF-8"))))+"?=";
}else {
codedfilename = fileName;
}
return codedfilename;
}
分享到:
相关推荐
在进行网络编程时,特别是处理文件下载功能时,遇到的一个常见问题是文件名出现乱码。这通常发生在使用PHP动态生成文件供用户下载的过程中,尤其是在文件名包含非ASCII字符(如中文)的情况下。本文将详细探讨如何...
7. **文件名“用IE下载文件”可能包含的内容**:这份压缩包可能包含了一个详细的图文教程,教用户如何解决在IE中遇到的下载问题,或者是一些与IE下载相关的辅助工具和设置建议。 8. **解压和使用**:收到“.rar”...
用户只需运行此文件,按照提示完成安装过程,即可在Win8系统上享用Firefox 29,从而解决LoadRunner与IE8不兼容的问题。 总的来说,Firefox 29作为一个可靠的浏览器选择,不仅可以为用户提供一个与IE8不同的浏览体验...
在Java编程中,当涉及到文件下载时,可能会遇到文件名乱码的问题,尤其是在不同浏览器环境下。这通常是由于浏览器对文件名编码方式的理解不一致导致的。以下是对标题和描述中所述知识点的详细解释: 首先,我们需要...
标题中的“兼容IE,FireFox的浮动图片广告”意味着这个技术解决方案主要关注的是在两种主流浏览器——Internet Explorer(IE)和Firefox上实现一致的浮动图片广告展示效果。在Web开发中,由于不同浏览器对HTML、CSS和...
这在当时是一个重要的考虑因素,因为IE6.0尽管存在很多已知问题,但在某些企业环境中仍被广泛使用,而Firefox则是一个备受欢迎的替代选择。 从标签“支持IE6.0版本以上、Firefox”可以推断出,开发者可能使用了特定...
它强调了该系统能在两种主流浏览器——Internet Explorer(IE)和Firefox上正常工作,这表明设计者考虑到了跨浏览器兼容性的问题。 在网页设计中,"右侧漂浮"通常指的是网页右侧有一个可以随着用户滚动页面而始终...
标题提到的"firefox,IE 都兼容字符强制换行"是指在Firefox和Internet Explorer(IE)这两种主流浏览器上实现文本强制换行的技术。虽然这两款浏览器在处理某些HTML和CSS特性时可能存在差异,但可以通过一些方法来实现...
在Web开发中,使用Struts2框架进行文件下载操作时,经常遇到的一个问题是文件名中的中文字符显示为乱码。这主要是因为浏览器和服务器之间的编码不一致所导致的。为了确保用户能够正确地看到文件名中的中文字符,需要...
这个文件很可能是示例代码或教程,展示了如何创建一个能同时在IE6、IE7和Firefox中正常工作的日历控件。文件名表明,这个控件可能使用了HTML、CSS和JavaScript的混合技术,确保在所有指定浏览器中都能正确显示和操作...
这篇内容主要关注的是如何创建一个适用于多种浏览器的Banner广告图片,包括了较老版本的Internet Explorer(从IE6到IE10),以及Firefox和Google Chrome等现代浏览器。在Web开发中,考虑到不同浏览器对某些CSS、...
1. **跨浏览器兼容性**:在Web开发中,确保网站或应用在Firefox、Chrome、Safari、Edge以及不同版本的IE等主流浏览器上都能正常工作,是一项基本任务。这是因为不同的浏览器可能对Web标准的支持程度不同,可能导致...
在PHP中提供文件下载功能时,如何正确处理文件名以避免乱码问题是一个常见的技术难题。乱码通常是由于编码不一致导致的字符显示错误,当浏览器接收到包含非ASCII字符的HTTP响应头部信息时,可能会因为没有正确解释...
在PHP编程中,当涉及到跨浏览器的文件下载时,可能会遇到中文文件名显示为乱码的问题。这个问题主要是由于不同浏览器对文件名编码处理方式的差异所导致的。本文将详细介绍如何通过PHP解决这一问题。 首先,我们需要...
对于非IE浏览器(如Chrome、Firefox等),可以使用`FileReader` API,它提供了一个异步的方式来读取文件内容。`FileReader`的`readAsBinaryString`方法用于将文件读取为二进制字符串。需要注意的是,`...
然而,不同浏览器对MIME类型的检测可能存在不一致,比如IE和Firefox就可能会有差异。 为了确保兼容性和安全性,PHP开发者需要对上传的文件进行验证,以确保它们是预期的类型。这通常通过比较文件的MIME类型与预期的...
- 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题) ###ver2.51 `2014/6/22` ---- ####fix bug:(bug解决和程序优化) - 登陆多次密码输入错误验证码bug解决 - 修复漏洞:创建副本加入...
断点续传是一种在互联网上下载文件时非常实用的功能,尤其在大文件传输过程中,能够有效地提高下载效率和用户体验。IE浏览器(Internet Explorer)自5.0版本开始引入这一特性,使得用户在下载过程中遇到网络中断或...
4. **兼容性处理**:为了确保在IE和Firefox等不同浏览器下均能正常工作,使用了不同的CSS属性如`opacity`和`filter`来处理透明度问题。 #### 四、功能流程 1. **加载页面时**:页面首次加载时会自动调用`AddFiles...