|
|
@@ -956,16 +956,7 @@ OC.Uploader.prototype = _.extend({ |
|
|
|
|
|
|
|
if (this._supportAjaxUploadWithProgress()) { |
|
|
|
//remaining time |
|
|
|
var lastUpdate = new Date().getMilliseconds(); |
|
|
|
var lastSize = 0; |
|
|
|
var bufferSize = 20; |
|
|
|
var buffer = []; |
|
|
|
var bufferIndex = 0; |
|
|
|
var bufferIndex2 = 0; |
|
|
|
var bufferTotal = 0; |
|
|
|
for(var i = 0; i < bufferSize;i++){ |
|
|
|
buffer[i] = 0; |
|
|
|
} |
|
|
|
var lastUpdate, lastSize, bufferSize, buffer, bufferIndex, bufferIndex2, bufferTotal; |
|
|
|
|
|
|
|
// add progress handlers |
|
|
|
fileupload.on('fileuploadadd', function(e, data) { |
|
|
@@ -986,6 +977,17 @@ OC.Uploader.prototype = _.extend({ |
|
|
|
+ '</span></em>'); |
|
|
|
$('#uploadprogressbar').tooltip({placement: 'bottom'}); |
|
|
|
self._showProgressBar(); |
|
|
|
// initial remaining time variables |
|
|
|
lastUpdate = new Date().getTime(); |
|
|
|
lastSize = 0; |
|
|
|
bufferSize = 20; |
|
|
|
buffer = []; |
|
|
|
bufferIndex = 0; |
|
|
|
bufferIndex2 = 0; |
|
|
|
bufferTotal = 0; |
|
|
|
for(var i = 0; i < bufferSize; i++){ |
|
|
|
buffer[i] = 0; |
|
|
|
} |
|
|
|
self.trigger('start', e, data); |
|
|
|
}); |
|
|
|
fileupload.on('fileuploadprogress', function(e, data) { |
|
|
@@ -996,12 +998,12 @@ OC.Uploader.prototype = _.extend({ |
|
|
|
fileupload.on('fileuploadprogressall', function(e, data) { |
|
|
|
self.log('progress handle fileuploadprogressall', e, data); |
|
|
|
var progress = (data.loaded / data.total) * 100; |
|
|
|
var thisUpdate = new Date().getMilliseconds(); |
|
|
|
var thisUpdate = new Date().getTime(); |
|
|
|
var diffUpdate = (thisUpdate - lastUpdate)/1000; // eg. 2s |
|
|
|
lastUpdate = thisUpdate; |
|
|
|
var diffSize = data.loaded - lastSize; |
|
|
|
lastSize = data.loaded; |
|
|
|
diffSize = diffSize / diffUpdate; // apply timing factor, eg. 1mb/2s = 0.5mb/s |
|
|
|
diffSize = diffSize / diffUpdate; // apply timing factor, eg. 1MiB/2s = 0.5MiB/s, unit is byte per second |
|
|
|
var remainingSeconds = ((data.total - data.loaded) / diffSize); |
|
|
|
if(remainingSeconds >= 0) { |
|
|
|
bufferTotal = bufferTotal - (buffer[bufferIndex]) + remainingSeconds; |