解决swfupload上传控件文件名中文乱码问题 三种方法 flash及最新版本11.8.800.168
2013-09-12 19:43
696 查看
目前比较流行的是使用SWFUpload控件,这个控件的详细介绍可以参见官网http://demo.swfupload.org/v220/index.htm
在使用这个控件批量上传文件时发现中文文件名都是乱码,在网上查了半天,找了几个办法,特总结如下:
第一种:fileName= new String(fileName.getBytes("UTF-8"),"GBK");
用这种方式能解决大部分乱码,但如果文件名中有特殊字符和标点符号有时候会转不过来。
第二种:我使用的是这种办法,测试已经通过
view
plaincopy
to clipboard
/**在设置时需要设置一下上传事件
*upload_start_handler : this.onUploadStart,
*动态传参数,解决文件名中文乱码问题
**/
onUploadStart : function(file) {
var post_params = this.settings.post_params;
Ext.apply(post_params,{
'fileName':encodeURIComponent(file.name)
});
this.setPostParams(post_params);
}
//在读取的类中将文件转码即可
String fName = URLDecoder.decode(fileName, "UTF-8");
[c-sharp] view
plaincopy
/**在设置时需要设置一下上传事件
*upload_start_handler : this.onUploadStart,
*动态传参数,解决文件名中文乱码问题
**/
onUploadStart : function(file) {
var post_params = this.settings.post_params;
Ext.apply(post_params,{
'fileName':encodeURIComponent(file.name)
});
this.setPostParams(post_params);
}
//在读取的类中将文件转码即可
String fName = URLDecoder.decode(fileName, "UTF-8");
第三种:配置web.config配置文件这种方法
swfupload是按照utf-8来编码的,而中文网站一般使用的编码是gb2312,你需要在使用sufupload的程序文件目录下重新定义xml.comfig文件,
如下:
现在的flash 最新版本,11.8.800.168 和 11.9 等有 bug,如果升级后,在使用 swfuploader、uploadify 等文件上传控件时,如果文件名是中文,就会出现中文乱码。大家可以知道到 swfupload 和 uploadify官方网站的 demo 里测试。
如果已经不小心升级了,可以通过以下办法解决:
到这来下载反安装文件,并卸载掉当前版本的 flash (通过别的办法卸载会无法安装旧版本的 flash 控件):http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe
到这来下载 相对旧一点的版本,并安装(也可以去别的地方下载):http://file.myfiles.com.cn/Photo/FlashPlayer_v118800129X.zip
在使用这个控件批量上传文件时发现中文文件名都是乱码,在网上查了半天,找了几个办法,特总结如下:
第一种:fileName= new String(fileName.getBytes("UTF-8"),"GBK");
用这种方式能解决大部分乱码,但如果文件名中有特殊字符和标点符号有时候会转不过来。
第二种:我使用的是这种办法,测试已经通过
view
plaincopy
to clipboard
/**在设置时需要设置一下上传事件
*upload_start_handler : this.onUploadStart,
*动态传参数,解决文件名中文乱码问题
**/
onUploadStart : function(file) {
var post_params = this.settings.post_params;
Ext.apply(post_params,{
'fileName':encodeURIComponent(file.name)
});
this.setPostParams(post_params);
}
//在读取的类中将文件转码即可
String fName = URLDecoder.decode(fileName, "UTF-8");
[c-sharp] view
plaincopy
/**在设置时需要设置一下上传事件
*upload_start_handler : this.onUploadStart,
*动态传参数,解决文件名中文乱码问题
**/
onUploadStart : function(file) {
var post_params = this.settings.post_params;
Ext.apply(post_params,{
'fileName':encodeURIComponent(file.name)
});
this.setPostParams(post_params);
}
//在读取的类中将文件转码即可
String fName = URLDecoder.decode(fileName, "UTF-8");
第三种:配置web.config配置文件这种方法
swfupload是按照utf-8来编码的,而中文网站一般使用的编码是gb2312,你需要在使用sufupload的程序文件目录下重新定义xml.comfig文件,
如下:
<configuration> <appSettings/> <connectionStrings/> <system.web> <globalization requestEncoding="utf-8"/> </system.web> </configuration>
现在的flash 最新版本,11.8.800.168 和 11.9 等有 bug,如果升级后,在使用 swfuploader、uploadify 等文件上传控件时,如果文件名是中文,就会出现中文乱码。大家可以知道到 swfupload 和 uploadify官方网站的 demo 里测试。
如果已经不小心升级了,可以通过以下办法解决:
到这来下载反安装文件,并卸载掉当前版本的 flash (通过别的办法卸载会无法安装旧版本的 flash 控件):http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe
到这来下载 相对旧一点的版本,并安装(也可以去别的地方下载):http://file.myfiles.com.cn/Photo/FlashPlayer_v118800129X.zip
SWFUpload 2.5.0版 官方说明文档 中文翻译版
相关文章推荐
- 解决swfupload上传控件文件名中文乱码问题 三种方法 flash及最新版本11.8.800.168
- 解决swfupload上传控件文件名中文乱码问题 三种方法
- 解决swfupload上传控件文件名中文乱码问题 三种方法
- 解决swfupload上传控件文件名中文乱码问题
- Java中FTPClient上传中文目录、中文文件名乱码问题解决方法
- SWFUpload上传控件文件名乱码(因Flash版本bug引起)的解决方案
- QT 5.9版本 使用MSVC2015编译时出现中文字符乱码问题的解决方法
- 跨浏览器PHP下载文件名中的中文乱码问题解决方法
- 解决中文文件名上传到模拟器变乱码的问题
- php上传中文文件名乱码解决方法
- HttpClient 4.3.* 上传带中文文件名文件文件名乱码问题的解决
- swfupload 上传中文文件名乱码问题
- 解决COS、FileUpload上传文件时中文文件名乱码问题
- 使用swfupload上传文件出现中文乱码现象的解决方法
- PHP——上传中文文件名乱码问题解决
- 解决httpclient上传文件的时候中文文件名乱码的问题
- 解决HttpClient的FilePart上传文件中使用中文名称文件名乱码问题
- 解决swfupload中文文件名乱码问题 .
- Flash读取XML文件的中文时出现乱码问题解决方法
- 解决中文文件名上传到模拟器变乱码的问题