Fix total upload size overwritten by next upload
The upload progress is based on the "totalToUpload" variable. However,
as the variable is set when an upload is submitted, if another upload is
submitted before the previous one finished the upload progress only took
into account the size of the new upload (although the upload itself
worked fine; the files of the new submitted upload are added to the
active one). Now "totalToUpload" is either increased or set depending on
whether an upload is active or not.
Note that although "data.total" holds the total size of the files being
uploaded "totalToUpload" needs to be used in "fileuploadprogressall"
instead; "totalToUpload" is calculated when the upload is submitted, but
since 7c4c5fe6ae
the actual upload of the files, and thus updating the
value of "data.total", may be deferred until the parent folders were
created.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
parent
5b61120491
commit
fc2069c1dd
|
@ -586,7 +586,10 @@ OC.Uploader.prototype = _.extend({
|
||||||
_.each(uploads, function(upload) {
|
_.each(uploads, function(upload) {
|
||||||
self._uploads[upload.data.uploadId] = upload;
|
self._uploads[upload.data.uploadId] = upload;
|
||||||
});
|
});
|
||||||
self.totalToUpload = _.reduce(uploads, function(memo, upload) { return memo+upload.getFile().size; }, 0);
|
if (!self._uploading) {
|
||||||
|
self.totalToUpload = 0;
|
||||||
|
}
|
||||||
|
self.totalToUpload += _.reduce(uploads, function(memo, upload) { return memo+upload.getFile().size; }, 0);
|
||||||
var semaphore = new OCA.Files.Semaphore(5);
|
var semaphore = new OCA.Files.Semaphore(5);
|
||||||
var promises = _.map(uploads, function(upload) {
|
var promises = _.map(uploads, function(upload) {
|
||||||
return semaphore.acquire().then(function(){
|
return semaphore.acquire().then(function(){
|
||||||
|
|
Loading…
Reference in New Issue