Плагин загрузки Jimpery blueimp: большой разрыв между достижением последнего файла 100% и завершенным событием

все люди задают одни и те же вопросы, нет ни одного ответа во всех темах и форумах.

$('#fileupload').fileupload({
dropZone: $("#dragandrop"),
pasteZone: $("#dragandrop"),
//singleFileUploads: false,
//progressInterval:50,
//bitrateInterval:500,
//forceIframeTransport: true,
dataType: 'json',
add: function (e, data) {
data.submit();
},
progress: function (e, data) {
//if (data.loaded == data.total ) {
//    if (e.lengthComputable) {
var progress = parseInt(data._progress.loaded / data.total * 100, 10);
console.log(data.loaded + " " + data.total + " " + data.bitrate);
$('#progress .bar').css('width', progress + '%');
//}
},
always: function (e, data) {
$('#progress .progress-bar').css('width',0);
},
done: function (e, data) {
var result = data.result.data;
//add the flash success message
$('#trust-center-flash-message').html(result.message);
//add the new images to the preview
previewImages(result.attachments);
return alert("done");
}
});

Я перепробовал все решения в интернете.
Я не использую плагин back-end класса php.

2

Решение

Как Кевин Б говорит это, и как вы упоминаете себя:

Событие прогресса отслеживает только процесс загрузки, а не
ход выполнения запроса.

Одним из способов решения этой проблемы является обновление того, как мы реагируем на событие прогресса.

Одним из решений будет остановка вашего индикатора выполнения, скажем, на 90%
увеличьте его до 100% в готовом обратном вызове. просто умножьте data.total на
1,1

    progress: function (e, data) {
var progress = parseInt(data.loaded / (data.total*1.1) * 100, 10);
var bar = data.context.children().children(".progress");
$(bar).css("width", progress + "%");
},

Вы также можете сделать это для события «progressall» в зависимости от того, какое событие вы хотите изменить.

Для всех обратных вызовов увидеть API, Вот некоторые из тех, которые могут вас заинтересовать

$ ( ‘# FileUpload’)

.bind (‘fileuploadprogress’, function (e, data) {/ * … /})
.bind (‘fileuploadprogressall’, function (e, data) {/
/})
.bind (‘fileuploadchunkdone’, function (e, data) {/
/})

.bind (‘fileuploadprocessdone’, function (e, data) {/
… * /})

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector