概述
uploadify.swf插件是一个比较好用的前端附件上传的插件,但是无奈中文乱码太烦了,现在分享一下项目过程中处理乱码问题。
1、在js代码中定义的onUploadStart方法中自定义一个参数传递到post参数中:
'onUploadStart': function (file) {
this.setPostParams({fileName: encodeURIComponent(file.name)});
}
2、在java后台接受时通过解码
String fileName = request.getParameter("fileName")!=null?request.getParameter("fileName"):"";
fileName = URLDecoder.decode(fileName, "UTF-8");
在接下来的代码中有用到上传文件的名字时就使用fileName属性替换
附完成js
//上传附件控件显示
$("#uploadify").uploadify({
'buttonText' : '浏览...',
'uploader' : url,
'swf' : '/public/js/upload/uploadify.swf',
'queueID' : 'fileQueue',
fileTypeExts:'${filterExt}',
fileTypeDesc:'请选择文件',
'auto' : false ,
'fileObjName' : 'myFile' ,
'fileSizeLimit' : '${queueSizeLimit}MB',
'queueSizeLimit':'${fileSizeLimit}',
'multi' : true,
'method' : 'post',
'onUploadSuccess':function(file, data, response)
{
var js = "var dataJson = "+data+";";
returnMsg = returnMsg+data+",";
eval(js);
if(dataJson.success)
{
if(dataJson.result.length>0)
{
uploadOkFiles[uploadOkFiles.length]=dataJson.result[0];
}
}
},
'onUploadStart': function (file) {
this.setPostParams({fileName: encodeURIComponent(file.name)});
},
'onQueueComplete' : function(queueData) {
alert('成功上传了'+queueData.uploadsSuccessful+'个文件');
window.returnValue = returnMsg;
window.close();
},
'queueID':'some_file_queue',
//检测FLASH失败调用
'onFallback':function(){
alert('您未安装FLASH控件,无法上传文件!请安装FLASH控件后再试。');
},
'overrideEvents' : [ 'onDialogClose', 'onUploadError', 'onSelectError'],
//返回一个错误,选择文件的时候触发
'onSelectError':function(file, errorCode, errorMsg){
switch(errorCode) {
case -100:
alert('上传的文件数量已经超出系统限制的'+$('#uploadify').uploadify('settings','queueSizeLimit')+'个文件!');
break;
case -110:
alert('文件 ['+file.name+'] 大小超出系统限制的'+$('#uploadify').uploadify('settings','fileSizeLimit')+'大小!');
break;
case -120:
alert('文件 ['+file.name+'] 大小异常!');
break;
case -130:
alert('文件 ['+file.name+'] 类型不正确!');
break;
}
},
'onUploadError':uploadify_onUploadError
});
最后
以上就是坚强黑裤为你收集整理的关于uploadify.swf插件上传文件乱码问题的全部内容,希望文章能够帮你解决关于uploadify.swf插件上传文件乱码问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复