aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/Network.ts2
-rw-r--r--src/server/ApiManagers/UploadManager.ts6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/client/Network.ts b/src/client/Network.ts
index e9f93fad3..89b31fdca 100644
--- a/src/client/Network.ts
+++ b/src/client/Network.ts
@@ -59,12 +59,14 @@ export namespace Networking {
);
}
formData.set('fileguids', fileguidpairs.map(pair => pair.guid).join(';'));
+ formData.set('filesize', fileguidpairs.reduce((sum, pair) => sum + pair.file.size, 0).toString());
// If the fileguidpair has a guid to use (From the overwriteDoc) use that guid. Otherwise, generate a new guid.
fileguidpairs.forEach(fileguidpair => formData.append(fileguidpair.guid ?? Utils.GenerateGuid(), fileguidpair.file));
} else {
// Handle the case where fileguidpairs is a single file.
const guids = fileguidpairs.guid ?? Utils.GenerateGuid();
formData.set('fileguids', guids);
+ formData.set('filesize', fileguidpairs.file.size.toString());
formData.append(guids, fileguidpairs.file);
}
const parameters = {
diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts
index 4509425bb..826db0de8 100644
--- a/src/server/ApiManagers/UploadManager.ts
+++ b/src/server/ApiManagers/UploadManager.ts
@@ -65,12 +65,16 @@ export default class UploadManager extends ApiManager {
secureHandler: async ({ req, res }) => {
const form = new formidable.IncomingForm();
let fileguids = '';
+ let filesize = '';
form.on('field', (e: string, value: string) => {
if (e === 'fileguids') {
(fileguids = value).split(';').map(guid => DashUploadUtils.uploadProgress.set(guid, 'reading file'));
}
+ if (e === 'filesize') {
+ filesize = value;
+ }
});
- form.on('progress', e => fileguids.split(';').map(guid => DashUploadUtils.uploadProgress.set(guid, 'read: ' + e)));
+ form.on('progress', e => fileguids.split(';').map(guid => DashUploadUtils.uploadProgress.set(guid, `read:(${+e / +filesize}%) ${e} of ' +${filesize}`)));
form.keepExtensions = true;
form.uploadDir = pathToDirectory(Directory.parsed_files);
return new Promise<void>(resolve => {