解决swfupload上传控件文件名中文乱码问题 三种方法

 最近公司让将以前的上传控件升级成可以一次选择多个文件的控件,目前比较流行的是使用SWFUpload控件,这个控件的详细介绍可以参见百度 http://baike.baidu.com/view/1332553.htm?fr=ala0_1_1

     在使用这个控件批量上传文件时发现中文文件名都是乱码,在网上查了半天,找了几个办法,特总结如下:

     第一种:fileName= new String(fileName.getBytes("UTF-8"),"GBK");

     用这种方式能解决大部分乱码,但如果文件名中有特殊字符和标点符号有时候会转不过来。

     第二种:我使用的是这种办法,测试已经通过
 

  1. /**在设置时需要设置一下上传事件 
  2.   *upload_start_handler : this.onUploadStart, 
  3.   *动态传参数,解决文件名中文乱码问题 
  4. **/  
  5. onUploadStart : function(file) {  
  6.   var post_params = this.settings.post_params;  
  7.   Ext.apply(post_params,{  
  8.          'fileName':encodeURIComponent(file.name)  
  9.   });  
  10.   this.setPostParams(post_params);  
  11. }  
  12. //在读取的类中将文件转码即可   
  13. String fName = URLDecoder.decode(fileName, "UTF-8");  

  第三种:配置web.config配置文件这种方法我没试,不知道行不行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值