How to trigger Uploadify onError event handler?
Solution 1
This was killing me but I found a way. In the uploadify.php file I created all my validation. The difference here is that I set HTTP 4xx codes for each type of error.
if (! in_array($fileParts['extension'], $typesArray)) {
header("HTTP/1.1 405"); //any 4XX error will work
exit();
}
This throws the "405" error back to uploadify.js.
In the file I set $("#fileInput").uploadify() I added the "onError" function.
'onError' : function(event, ID, fileObj, errorObj) {
var r = "<br />ERROR: ";
switch(errorObj.info) {
case 405:
r += "Invalid file type.";
break;
case 406:
r += "Some other error.";
break;
}
setTimeout('$("#fileInput'+ ID + 'span.percentage").html("'+r+'");',111);
}
This forces the uploadify default function to exist while kind of extending it.
Hope this help!
Solution 2
onError
goes within the options of uploadify:
$("#fileInput").uploadify({
onError: function(e, q, f, o) {
alert("ERROR: " + o.info);
}
});
From the Documentation
A function that triggers when an error occurs during the upload process. The default event handler attaches an error message to the queue item returning the error and changes it’s queue item container to red.
Four arguments are sent to the function:
- event: The event object.
- queueID: The unique identifier of the file that returned an error.
- fileObj: An object containing details about the file that was selected.
- name – The name of the file
- size – The size in bytes of the file
- creationDate – The date the file was created
- modificationDate – The last date the file was modified
- type – The file extension beginning with a ‘.’
- errorObj: An object containing details about the error returned.
- type – Either ‘HTTP’, ‘IO’, or ‘Security’
- info – An error message describing the type of error returned
Comments
-
Rosdi Kasim over 1 year
I am using Uploadify to upload files. Problem is, I need to inform users of any error during processing of those files.
Uploadify has
onError
,onComplete
, andonAllComplete
event handler but I do not know how to trigger these events so that users are informed of what is going on.Do I need to send JSON string? There is a clue here and here and here but I couldn't make it to work. Perhaps the posting in the forum is outdated.
Anyone got any example that works for Uploadify 2.1?
-
Rosdi Kasim over 14 yearsYeah but I need to know the string format the server needs to write so uploadify know there is a problem during processing of the uploaded file. Lets say I want to display "Error on line 3, invalid dealer code: 'DEALER001'" to the user, how do I do it?
-
Sampson over 14 years@Rosdi, the only effor/file information you have access to through uploadify is listed in my post above.
-
Rosdi Kasim over 14 years@Jonathan, ah.. so onError is not meant to provide custom error message to users. I should use onComplete instead.. thanks for the clarification.
-
Brant Messenger about 14 years@Rosdi This solution will allow you to put the error message in the div that contains the information on the file that failed. The alert method deletes the div as though it completed and then throws an alert.