plupload error generation

daydreamer picture daydreamer · Apr 22, 2012 · Viewed 8.3k times · Source

I am trying to solve a problem with plupload where i show an error in the upload window, generated by upload.php. No matter what i do, i am not able to create the error icon in the window. Although the alerts work fine, the file is always marked as success. Can someone please tell me what am i doing wrong here?

The error from my upload.php is die('{"jsonrpc" : "2.0", "error" : {"code": 500, "message": "File upload failed."}, "id" : "id"}');

And this is the javascript:

// Convert divs to queue widgets when the DOM is ready
$(function() {
    // Setup html5 version
    $("#html5_uploader").pluploadQueue({
        // General settings
        runtimes : 'html5',
        url : 'upload.php',
        max_file_size : '2000mb',
        chunk_size : '1mb',
        unique_names : false,

        // Specify what files to browse for
        filters : [
            {title : "Video Clips", extensions : "mov,avi,mpg,flv,mp4"},
            {title : "Audio Files", extensions : "mp3,wav"},
            {title : "Executable Files", extensions : "exe"},
            {title : "Zip Files", extensions : "zip,rar"}
        ],
        preinit: attachCallbacks
    });

    // attach callbacks for FileUploaded and Error
    function attachCallbacks(uploader) {
        uploader.bind('FileUploaded', function(up, file, response) {
            response = jQuery.parseJSON( response.response );

            alert(response.error.code);

            if (response.error.code == '500') {
                alert (response.error.message); 
                //alert (file.id);          
                $('#' + file.id).attr('class', 'plupload_failed').find('a').css('display', 'none').attr('title', response.error.message);
                file.status = plupload.FAILED;
            } else {
                alert("yoohoo");
                $('#' + file.id).attr('class', 'plupload_done').find('a').css('display', 'none').attr('title', 'Success');
                file.status = plupload.DONE;
            }
        });
    } 
});

Thanks.

Answer

davidwebster48 picture davidwebster48 · Jul 16, 2012

In case anyone else is looking for the solution to this, it's here: http://www.plupload.com/punbb/viewtopic.php?id=1710

The problem is that you're using the FileUploaded event inside the preinit section. You should bind your event on the init section.

(answer from LeandroJF)