3

upload.php によって生成されたアップロード ウィンドウにエラーが表示されるという plupload の問題を解決しようとしています。何をしても、ウィンドウにエラーアイコンを作成できません。アラートは正常に機能しますが、ファイルは常に成功としてマークされます。誰かが私がここで間違っていることを教えてもらえますか?

私のupload.phpからのエラーはdie('{"jsonrpc" : "2.0", "error" : {"code": 500, "message": "File upload failed."}, "id" : "id"}');

そして、これは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;
            }
        });
    } 
});

ありがとう。

4

1 に答える 1

3

他の誰かがこれに対する解決策を探している場合は、ここにあります: http://www.plupload.com/punbb/viewtopic.php?id=1710

問題は、preinit セクション内で FileUploaded イベントを使用していることです。init セクションでイベントをバインドする必要があります。

(LeandroJF からの回答)

于 2012-07-16T10:11:35.303 に答える