现在和Uploadify v3
玩了几天,刚刚意识到一些代码已被重写,例如,onError
已不复存在,我假设它已被onUploadError
取代{1}}。
我想要实现的是通过在div(首选方法)或警报中添加消息,能够向用户返回不合规错误。 查看最接近的解决方案How to trigger uploadify onError event handler,但它已经过时,因为它是针对v2的。
使用与过期帖子相同的方法,我添加了$("#fileInput").uploadify()
并添加了onUploadError:
'onUploadError' : function(file,errorCode,errorMsg) {
var r = '<br />ERROR: ';
switch(errorMsg) {
case 405:
r += 'Invalid file type.';
break;
case 406:
r += 'Some other error.';
break;
}
alert(r);
setTimeout('$("#fileInput'+ ID + 'span.data").html("'+r+'");',111);
}
我现在遇到的问题是:
你怎么解决这些问题?
答案 0 :(得分:2)
也许这有点太晚了......但无论如何我试着回答。
我也在使用uploadify的v3。 onError()不再存在,它已被onUploadError()取代。旧的onError事件给出的erroror对象不再存在。现在要检查错误类型,您可以打开errorCode参数(回调中给出的第二个参数),它是数字。我没有找到包含所有可能错误代码的表格,但是做了一些试验我发现了以下三个错误代码:
-200:HTTP错误(例如HTTP 500,400,404等) -220:IO错误(例如,在没有来自服务器的响应的情况下连接关闭,或者在从用户的PC上搜索源文件时出错) -280:实际上并没有完全理解它们是什么类型的错误,但似乎是由uploadify优雅地处理的错误。例如,如果您尝试将已存在队列中的文件添加到队列中,则uploadify会询问您是否要替换当前已入队的文件,或取消该操作。如果取消,则会触发代码为-280的错误。
要检查特定类型的错误,例如获取特定的HTTP错误代码(如果错误是http错误),您可以检查错误消息,这是第三个参数。这个参数是一个字符串,而不是一个数字,所以你不能像你的例子中那样使用switch .. case(或者至少它不是那么简单的使用switch .. case with strings)。只需使用if .. else if .. else。
希望这可以帮助...
我仍在寻找事件处理程序的errorCode参数中给出的可能错误代码的完整列表。如果有人知道,请告诉我!