1、jfinal + upload 插件传递参数 及 乱码 的问题
这里我是通过url传递的参数,当然你也可以通过data-form来传递参数
代码如下:
// uploadify 上传
$(function() {
$("#img_upload").uploadify({
auto : false, //不自动上传,手动上传
height : 30, //上传按钮高度
swf : 'img/uploadify.swf',
uploader : '${contextPath}/classes/classesAdd',
//formData : {'className' : className},
width : 120 ,
buttonText : '选择文件',
multi : false, //不允许多文件上传
uploadLimit : 1,
fileSizeLimit : '10MB', //上传文件大小
fileTypeDesc : 'Image Files', //可选的文件类型
fileTypeExts : '*.gif; *.jpg; *.png', //定义可以上传的文件类型
removeTimeout : 1000, //文件上传完后延时隐藏queue队列
//在onUploadStart事件中,也就是上传之前,把参数写好传递到后台。
onUploadStart : function (file) {
// className 不能为空
$("#img_upload").uploadify("settings", "uploader", "${contextPath}/classes/classesAdd?className="+className);
},
});
});
onUploadStart 事件来动态给className赋值,否则 页面加载时className = “”。
$("#img_upload").uploadify("upload");
最后通过upload方法提交文件 ok 啦,传参的问题解决。
后台就用jfinal来接受文件和参数吧。
String className = new String(getPara("className").getBytes("ISO-8859-1"),"utf-8");
UploadFile uploadFile = getFile();
File file=uploadFile.getFile();
发现乱码问题,通过getpara()方法 获取到的中文乱码(问题不知),编码一下 getBytes(“ISO-8859-1”),”utf-8”) ,问题解决,又看到可爱的中文啦。
2、 传参乱码 .getBytes(“ISO-8859-1”),”utf-8”);