所有人都在问同样的问题,在所有主题和论坛的任何地方都没有答案。
$('#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");
}
});
我尝试了互联网上的所有解决方案。 我没有使用插件后端php类。
答案 0 :(得分:1)
进度事件仅跟踪上传的进度,而不是跟踪 请求的进展。
解决此问题的一种方法是更新我们对进度事件的响应方式。
一个解决方案是让你的进度条停止,然后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"取决于您要修改的那个。
对于所有回调see the API,以下是一些可能会引起您兴趣的回复
$('#文件上传')
...
.bind(' fileuploadprogress',功能(e,数据){/ * ... /})
.bind(' fileuploadprogressall',功能(e,数据){/ ... /})
.bind(' fileuploadchunkdone',功能(e,数据){/ ... /})
...
.bind(' fileuploadprocessdone',function(e,data){/ ... * /}}