How to trigger Uploadify onError event handler?

折月煮酒 提交于 2019-12-04 10:15:12
Brant Messenger

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!

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
Umar Adil
onError: function (a, b, c, d) {
         if (d.status == 404)
            alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>');
         else if (d.type === "HTTP")
            alert('error '+d.type+": "+d.status);
         else if (d.type ==="File Size")
            alert(c.name+' '+d.type+' Limit: '+Math.round(d.sizeLimit/1024)+'KB');
         else
            alert('error '+d.type+": "+d.text);
},
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!