uploadify上传文件后,默认的出错信息只有:File Size Error,但没有提示具体限制多大。
于是研究一番,调试半下午,终于解决了:
结果如下:
在File Size Error后面加入了:超过文件上传大小限制(5M),这样提示就比较明白了。
做法很简单,就是在uploadify初始化方法里加入以下内容:
'onError' : function (event, ID, fileObj, errorObj)
{
if (errorObj.type == "File Size"){
$("#filename" + ID + " span.percentage").text(" - " + errorObj.type + " Error:超过文件上传大小限制(5M)");
$("#filename" + ID).addClass("uploadifyError");
return false;
}
}
全部的uploadify方法如下:
$("#filename").uploadify({
'auto' : false,
'uploader' : '<%=basePath %>images/uploadify/uploadify.swf',
'script' : '<%=basePath %>servlet/UploadifyServlet',//后台处理的请求
'queueID' : 'fileQueue',//与下面的id对应
'queueSizeLimit' :1,
'sizeLimit' :5242880,
'fileTypeDesc' : 'all files',
'fileTypeExts' : '*', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
'multi' : true,
'buttonText' : '浏览',
'onComplete' :function(event, queueID, fileObj, serverData, data)
{
$("input[name='photoName']").val(serverData.split(",")[0]);
$("input[name='photoUrl']").val(serverData.split(",")[1]);
$("div.toux").html("<img src='<%=basePath %>" + serverData.split(",")[1] + "'/>");
alert("上传成功");
},
'onError' : function (event, ID, fileObj, errorObj)
{
if (errorObj.type == "File Size"){
$("#filename" + ID + " span.percentage").text(" - " + errorObj.type + " Error:超过文件上传大小限制(5M)");
$("#filename" + ID).addClass("uploadifyError");
return false;
}
}
});
JSP页面如下:
<div class="sctx">
<div class="toux">
</div>
<div class="sflie">
<span>上传文件(小于5M)</span>
<div id="fileQueue"></div>
<input type="file" name="filename" id="filename" />
<p>
<a href="javascript:$('#filename').uploadifyUpload()" style="color:red">开始上传</a>
<a href="javascript:$('#filename').uploadifyClearQueue()" style="color:red">取消上传</a>
</p>
</div>
</div>