Uploadify上传文件中文文件名乱码 Java

Uploadify是个很好的上传文件组件,但用它来上传带有中文名字的文件时,乱码一个不小心就蹦了出来,最新版本Uploadify v3.2 在用的时候,我页面是GBK编码,想到后台接收的时候肯定会乱码,开始用new String(fileName.getBytes("GBK"),"utf-8");来进行转码(后台用java写的),开始我测试上传了几个中文名称的文件,很正常,但是客户那边用了后,反应文件上传了找不到,KB的开始调试了,把客户的文件拿过来做测试,妈了个咪了的居然出现乱码了,于是各种搜索,各种调试,没有见效,搜索结果里面没有找到新版本出现这一问题的解决办法,好吧,自己看看源码,或许有解决办法,想到可以给后台传参数,那为什么不能再选中文件的时候把文件名经过js的encodeURI方法进行编码后台再来接收,也就是通过定义uploadify的onSelecct(file)方法来得到文件名,因为onSelecct方法的file参数可以通过file.name来得到文件名,我把这个文件名进行编码后传给后台,后台通过 URLDecoder.decode(fileName, "UTF-8");来解码,应该是可以正常显示的,怎么把文件名传到后台去是个问题,看了下源码,里面看到有个addPostParam的方法,大喜,最后我在onSelecct(file)方法里面写上 this.addPostParam("file_name",encodeURI(file.name));后台调试一看,果然可以得到,进行解码后得到正常文件名,OK,问题解决,
附上完整代码:

$(‘#file_upload‘).uploadify({
 ‘formData‘     : {
    ‘file_type‘ : "examples"
 },
 ‘swf‘      : ‘jsupload/uploadify.swf‘",
 ‘uploader‘ : "uploadfile.htm",
 ‘buttonText‘ : "案例上传",
 ‘width‘ : "80",
 ‘height‘ : "25",
 ‘sizeLimit‘ : "102400",
 ‘onSelect‘ : function(file) {  
        this.addPostParam("file_name",encodeURI(file.name));//改变文件名的编码
    },
 ‘onUploadSuccess‘ : function(file, data, response) {
       $(‘.examview‘).html(data);
  }
});
时间: 2024-10-07 11:15:58

Uploadify上传文件中文文件名乱码 Java的相关文章

php上传文件中文文件名乱码的解决方法

想必很多朋友在进行utf8编码的php开发上传功能的时候,都会遇到这样的一个问题,就是上传中文文件名的文件时,文件名会变成乱码,其实我们可以用iconv函数对文件名进行重新编码就解决问题了 可能会有不少朋友碰到一些问题就是上传文件时如果是英文倒好原文名不会有问题,如果是中文可能就会出现乱码了,今天我来给大家总结一下导致乱码php上传文件中文文件名乱码的原因与解决办法吧. 这几天在windows下安装了XAMPP,准备初步学习一下php的相关内容.这几天接触到了php上传文件,但是出现了一个郁闷问

java开发中截取上传文件的文件名和后缀名

java开发中截取上传文件的文件名和后缀名 /** * Return the extension portion of the file's name . * * @see #getExtension */ public static String getExtension(File f) { return (f != null) ? getExtension(f.getName()) : ""; } public static String getExtension(String f

php 文件中文文件名乱码的解决方法

想必很多朋友在进行utf8编码的php开发上传功能的时候,都会遇到这样的一个问题,就是上传中文文件名的文件时,文件名会变成乱码,其实我们可以用iconv函数对文件名进行重新编码就解决问题了 php文件使用的是UTF-8编码,如果没有猜错APACHE处理用的应该是GBK.想明白了这个问题,就去查找相关的教程了,索性找到了iconv这个函数. 函数原型:string iconv ( string in_charset, string out_charset, string str )使用例子:$co

SpringMVC+jquery.uploadify 上传文件

前言 以前用Asp.net MVC+uploadify上传文件,最近学习SpringMVC,所以就用SpringMVC+uploadify做个上传文件的demo. 刚开始用form表单的方式提交,在Controller Action中用@RequestParam MultipartFile file就能拿到上传文件信息.后我直接使用uploadify的方式上传,接口没有做任何调整,上传的过程中报http400, 客户端的请求不符合接口的要求,表单post提交时报文参数是以Form Data方式,

ASP.NET Uploadify 上传文件过大报错

Uploadify上传文件原来很早之前用过,没发现什么问题.今天再使用过程中,当文件大于30M的时候就会报错404.查看错误消息提示配置最大上传太小了.需要修改. 记得原来配置上传文件大小在这里:<httpRuntime maxRequestLength="2097100" executionTimeout="3600"/> 配置即可.可是当我这里修改了之后发现还是错误.就想是不是上传控件本身有限制,看到我的有limitSize:30 已经设置了大小,但

MVC3+jquery Uploadify 上传文件

最近做项目用到了上传图片的功能,以前也写过这类代码,不过都是用传统的file标签,今天整理一个好用的插件Uploadify..都做了一些注释,一看便知. 可以去官网下载最新的:Uploadify下载地址:http://www.uploadify.com/download/ 1.引用文件 <link href="@Url.Content("~/Scripts/uploadify/uploadify.css")" rel="stylesheet"

uploadify上传文件(2)--基础语法

隔了好久,因为最近搬家,离开从小生活的城市,来到杭州.找工作.找房子等诸多事宜耽误了这篇文章许久.今天难得闲暇在旅馆中完成uploadify上传文件系列的第二篇--uploadify使用的基础语法. 下面我们看一看如何在你的项目上部署uploadify: 本文目录: 1.使用步骤 2.属性 3.事件 4.方法 使用步骤 1.我们假定上传控件部署在网站根目录下的upload. php中,uploadify文件夹位于网站根目录中,上传的文件保存在根目录下的upload文件夹中,uploadify文件

drupal7 上传文件中文乱码

drupal7自带有file模块,可以上传文件. 但是存在问题:如果上传的文件名称是中文,存储在文件下面的文件名称是乱码的,解决办法如下:参考出处 修改两处代码,加上编码规则,就解决了中文乱码的问题 1 //搜索: 2 $file->filesize = filesize($file->uri); 3 //修改为: 4 $file->filesize = filesize(iconv("UTF-8","gb2312",$file->uri))

【第九篇】uploadify上传文件

依然不多说,上代码 首先是给文件夹的位置 然后上代码 1 <div class="upload"> 2 <div class="uploadswf"> 3 <input type="file" name="uploadify" id="uploadify" style="vertical-align: middle;" /> 4 <span id