2012-05-23 11 views
5

私は、Webサイトのカスタムサンプルに基づいてインスタンスをpluploadしていますが、サーバーサイドのアップロードスクリプト(例のupload.php)からのエラーメッセージを表示する点を除いて、ダウンロードのフォルダ)。plUpload - サーバー側のエラーが表示されない

ローカルのエラーメッセージが表示されています。たとえば、制限されているファイルタイプをアップロードしようとすると、サーバー側のメッセージが表示されないというエラーメッセージが表示されます。

アップロードが正常に処理されたためupload.phpファイルが適切に起動されていることがわかりました。また、ファイルが要求されていることを確認するためにスリープ機能も設定しました。 私は単純に10秒間スリープしてエラーメッセージを返すデバッグを支援するためにupload.phpの一番上に行を置いただけですが、これはまだ動作しません。私はすでにこれには長すぎる費やす持っているように

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

私は以下に含まれている使用していたJavaScriptは、あなたたちは与えることができる任意のヘルプをいただければ幸いです、問題はライブ私のコードをプッシュすることができることから戻って私を保持しています。

おかげで、

アレックスここ

// 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で、自分の質問に答え...スタックオーバーフローが、私は自分の答えを置くことはできないだろう、あなたはここに私の答えを見つけることができます - http://www.plupload.com/punbb/viewtopic .php?id = 1804 – flexage

答えて

10

そして、あなたがにリンクされている答えは:

NM、私自身の質問に答えた...

は、それは私のplUploadですJSON文字列である のサーバーレスポンスを、JSオブジェクトにアクセスしてアクセスできます "FileUploaded"イベント。

これは、この回答が必要な人のためのコード例です。

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

私のためにこれを投稿していただきありがとうございます;) – flexage

関連する問題