From 3b3b8b4fa8ad62a26a22d28fc5b81508d0306b0b Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Fri, 2 Jun 2017 22:08:21 +0100 Subject: [PATCH] fix file upload bug (#1928) - proper extraction of File objects from the FileList --- .../src/components/upload-button.component.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts b/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts index 413b76e58d..1545851d76 100644 --- a/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts +++ b/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts @@ -128,7 +128,7 @@ export class UploadButtonComponent implements OnInit, OnChanges { * @param {File[]} files - files dropped in the drag area. */ onFilesAdded($event: any): void { - let files = $event.currentTarget.files; + let files: File[] = this.getFiles($event.currentTarget.files); if (this.hasPermission) { this.uploadFiles(this.currentFolderPath, files); @@ -145,7 +145,7 @@ export class UploadButtonComponent implements OnInit, OnChanges { * @param {File[]} files - files of a folder dropped in the drag area. */ onDirectoryAdded($event: any): void { - let files = $event.currentTarget.files; + let files: File[] = this.getFiles($event.currentTarget.files); if (this.hasPermission) { let hashMapDir = this.convertIntoHashMap(files); @@ -211,6 +211,18 @@ export class UploadButtonComponent implements OnInit, OnChanges { return directoryMap; } + private getFiles(fileList: FileList): File[] { + const result: File[] = []; + + if (fileList && fileList.length > 0) { + for (let i = 0; i < fileList.length; i++) { + result.push(fileList[i]); + } + } + + return result; + } + /** * Split the directory path given as input and cut the last directory name * @param directory