最近要写个上传图片的东东,所以了个插件 uploadify-v3.0.1 ,正是因为这个版本让我差点崩溃了。
我后台用的是STRUTS2接收File,我了网上找到的好多例子,最终结果都是一样的,File 为 null。
最后只能看 js 的原码,发现在'fileDataName' 根本找不到,在3.0.1版本里只有一个fileObjName,把fileDataName改为fileObjName 就OK了
在网上找到的资料写法
$(document).ready(function() {
$("#fileupload").uploadify({
/*注意前面需要书写path的代码*/
'uploader' : '<%=path%>/medium/jquery/uploadify.swf',
'script' : '<%=path%>/commonutil/uploadUtil.action',
'cancelImg' : '<%=path%>/pic/tech/jquery/uploadify/cancel.png',
'queueID' : 'fileQueue', //和存放队列的DIV的id一致
'fileDataName' : 'fileupload', //和以下input的name属性一致
'auto' : false, //是否自动开始
'multi' : true, //是否支持多文件上传
'buttonText' : 'Browse', //按钮上的文字
'simUploadLimit' : 3, //一次同步上传的文件数目
'sizeLimit' : 19871202, //设置单个文件大小限制
'queueSizeLimit' : 2, //队列中同时存在的文件个数限制
'fileDesc' : '支持格式:jpg/gif/jpeg/png/bmp.', //如果配置了以下的'fileExt'属性,那么这个属性是必须的
'fileExt' : '*.jpg;*.gif;*.jpeg;*.png;*.bmp',//允许的格式
onComplete: function (event, queueID, fileObj, response, data) {
$('<li></li>').appendTo('.files').text(response);
},
onError: function(event, queueID, fileObj) {
alert("文件:" + fileObj.name + "上传失败");
},
onCancel: function(event, queueID, fileObj){
alert("取消了" + fileObj.name);
}
});
});
我的最终写法
$(document).ready(function() {
$("#fileupload").uploadify({
/*注意前面需要书写path的代码*/
'uploader' : '<%=path%>/medium/jquery/uploadify.swf',
'script' : '<%=path%>/commonutil/uploadUtil.action',
'cancelImg' : '<%=path%>/pic/tech/jquery/uploadify/cancel.png',
'queueID' : 'fileQueue', //和存放队列的DIV的id一致
'fileObjName' : 'fileupload', //和以下input的name属性一致
'auto' : false, //是否自动开始
'multi' : true, //是否支持多文件上传
'buttonText' : 'Browse', //按钮上的文字
'simUploadLimit' : 3, //一次同步上传的文件数目
'sizeLimit' : 19871202, //设置单个文件大小限制
'queueSizeLimit' : 2, //队列中同时存在的文件个数限制
'fileDesc' : '支持格式:jpg/gif/jpeg/png/bmp.', //如果配置了以下的'fileExt'属性,那么这个属性是必须的
'fileExt' : '*.jpg;*.gif;*.jpeg;*.png;*.bmp',//允许的格式
onComplete: function (event, queueID, fileObj, response, data) {
$('<li></li>').appendTo('.files').text(response);
},
onError: function(event, queueID, fileObj) {
alert("文件:" + fileObj.name + "上传失败");
},
onCancel: function(event, queueID, fileObj){
alert("取消了" + fileObj.name);
}
});
});