У меня есть экземпляр plupload, основанный на пользовательском примере с веб-сайта, он работает безупречно, за исключением отображения сообщений об ошибках, которые поступают из сценария загрузки на стороне сервера (upload.php из папки примеров в загружаемом файле).
Отображаются локальные сообщения об ошибках, например, если я пытаюсь загрузить файл с ограниченным типом, я получаю ожидаемое сообщение об ошибке, однако сообщения на стороне сервера просто не отображаются.
Я знаю, что файл upload.php запускается правильно, поскольку мои загрузки успешно обрабатываются, и я установил функцию сна, чтобы также проверить, запрашивается ли файл. В тот момент, когда я просто поместил строки в верхней части файла upload.php, чтобы помочь с отладкой, которые просто спят в течение 10 секунд и возвращают сообщение об ошибке, это все еще не работает.
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();
});
});