2012-05-23 11 views
5

Ich habe eine plupload Instanz basierend auf dem benutzerdefinierten Beispiel von der Website vorhanden, es funktioniert einwandfrei, außer zur Anzeige von Fehlermeldungen, die von der Server-Seite Upload-Skript kommen (upload.php von den Beispielen Ordner im Download).plUpload - Serverseitige Fehler werden nicht angezeigt

Lokale Fehlermeldungen werden angezeigt, zum Beispiel, wenn ich versuche, einen Dateityp hochzuladen, der eingeschränkt wurde, bekomme ich die Fehlermeldung, die ich erwarte, serverseitige Nachrichten werden jedoch nicht angezeigt.

Ich weiß, dass die upload.php-Datei ordnungsgemäß ausgelöst wird, da meine Uploads erfolgreich verarbeitet werden, und ich habe eine Schlaffunktion eingerichtet, um auch zu überprüfen, ob die Datei angefordert wird. In der Minute habe ich einfach zu Zeilen oben in meiner upload.php platziert, um beim Debuggen zu helfen, die einfach für 10 Sekunden schlafen und eine Fehlermeldung zurückgeben, das funktioniert immer noch nicht.

upload.php 
    sleep(10); 
    die('{"jsonrpc" : "2.0", "error" : {"code": 500, "message": "THIS IS AN ERROR."}, "id" : "id"}'); 
...(Rest of normal upload.php file)... 

Die Javascript I unten enthalten verwende wird, jede Hilfe euch stark, wie ich auf diese zu lange verbringen schon haben würde geben könnte geschätzt und das Problem in der Lage hält von mir zurück meinen Code Live drücken .

Danke,

Alex

// Fanart 
$(function() { 
var fanart_uploader = new plupload.Uploader({ 
    runtimes : 'html5,flash,html4', 
    browse_button : 'fanart_pickfiles', 
    container : 'fanart_container', 
    drop_element : 'fanart_drop', 
    chunk_size : '1mb', 
    max_file_size : '8mb', 
    url : '/upload.php?gameid=<?= $gameid ?>&arttype=fanart', 
    flash_swf_url : '/js/plupload/js/plupload.flash.swf', 
    silverlight_xap_url : '/js/plupload/js/plupload.silverlight.xap', 
    filters : [ 
     {title : "Image files", extensions : "jpg,png"}, 
    ] 
}); 

fanart_uploader.bind('Init', function(up, params) { 
    $('#fanart_runtime').html("You are using " + params.runtime); 
}); 

$('#fanart_uploadfiles').click(function(e) { 
    fanart_uploader.start(); 
    e.preventDefault(); 
}); 

fanart_uploader.init(); 

fanart_uploader.bind('FilesAdded', function(up, files) { 
    $.each(files, function(i, file) { 
     $('#fanart_filelist').append(
      '<div style="padding: 4px; margin: 3px; border: 1px dotted #fff; border-radius: 6px; background-color: #333;" id="' + file.id + '"><img class="tick" src=\"<?= $baseurl ?>/images/common/icons/tick_16.png\" style=\"display: none; vertical-align: -2px;\" />' + 
      file.name + ' <em>(' + plupload.formatSize(file.size) + ')</em> <div style=\"margin: auto; margin-top: 3px; width: 200px; height: 20px; border: 1px solid #fff; border-radius: 6px; background-color: #222;\"><div class="progressbar" style=\"width: 0px; height: 16px; padding: 2px 0px; background-color: #ccc; border-radius: 6px; text-align: center;\"><b style="font-size: 16px; color: #222;"></b></div></div>' + 
     '</div>'); 
    }); 

    up.refresh(); // Reposition Flash/Silverlight 
}); 

fanart_uploader.bind('UploadProgress', function(up, file) { 
    $('#' + file.id + " b").html(file.percent + "%"); 
    $('#' + file.id + " .progressbar").css("width", (file.percent * 2)); 
}); 

fanart_uploader.bind('Error', function(up, err) { 
    $('#fanart_filelist').append("<div>Error: " + err.code + 
     ", Message: " + err.message + 
     (err.file ? ", File: " + err.file.name : "") + 
     "</div>" 
    ); 

    up.refresh(); // Reposition Flash/Silverlight 
}); 

fanart_uploader.bind('FileUploaded', function(up, file) { 
    $('#' + file.id + " .tick").show(); 
}); 
}); 
+0

nm, meine eigene Frage beantwortet ... Stack-Überlauf läßt mich nicht meine eigene Antwort setzen, so dass Sie meine Antwort hier finden - http://www.plupload.com/punbb/viewtopic .php? id = 1804 – flexage

Antwort

10

Und hier ist die Antwort, die Sie verknüpft:

NM

, meine eigene Frage beantwortet ...

Es scheint, mein Plupload Instanz entlastet die Serverantwort, die eine JSON-Zeichenfolge in einem JS-Objekt ist, auf das zugegriffen werden kann das "FileUploaded" -Ereignis.

Dies ist ein Codebeispiel für alle anderen, die diese Antwort benötigen.

fanart_uploader.bind('FileUploaded', function(up, file, info) { 
    $('#' + file.id + " .tick").show(); 
    printObject(info); 

    var response = jQuery.parseJSON(info.response); 

    alert(response.error.message); 
}); 
+0

Danke für das Posten dieses für mich;) – flexage

Verwandte Themen