Ext.ux.uploaddialog3.0上传文件乱码问题

来源:互联网 发布:halcon齐次变换矩阵 编辑:程序博客网 时间:2024/04/29 21:50

  Ext.ux.uploaddialog是扩展出来的一个批量上传文件组件。EXT官网上是有下载的。不过官网上下载的组件默认只支持EXT2.0。并不支持3.0版本。主要是2.0和3.0的一些元素的获取方式不一样。我自己从网上搜索了多种针对3.0的修改版本并自己进行了一些修改。改正了网上流传版本的一些图标显示问题等。目前我修改过的这个扩展组件已经上传到CSDN上。地址:http://download.csdn.net/source/2990333。

  然后说到中文文件上传乱码问题,因为这个批量上传组件的上传机制其实和form设置了fileupload:true之后上传文件的机制一样的。都是传一个未编码的stream流到后台的。而我的项目中使用了ssh,在struts中设置了编码。所以传到后台时文件名称就是乱码。几经波折。最后在Ext.ux.uploaddialog中修改了post参数。使其在post时对文件名进行了编码。具体代码:

。然后大家也能看出来。我这样写了之后就决定了后台接收文件名的变量只能是'upLoadFileName'。算是一个弊端吧。然后在后台接收到文件名后进行了一次解码。

 

这里要注意一下,网络上多是在前台进行2次编码,后台进行一次解码。这是可能是由于他们没有使用struts吧?我也不是很清楚。而在后台对前台传过来的相应变量进行赋值时会进行一次解码。但是这次解码的结果是不对的。必须再使用java.net.URLDecoder.decode进行一次解码。对于我们现在的项目来说。在对后台相应变量赋值前已经由struts又进行了一次UTF-8编码。所以在前台是不需要进行2此编码的。