Я пытаюсь просто добавить данные в массив при успешном ответе загрузки файла.В консоли цикла выдается правильный вывод, но результирующий массив состоит из реплицированных данных (последние данные повторяются n раз)
data : consists of multiple file data that has to be uploaded
пример:
FileList {0: File, 1:Файл, длина: 2} 0: Файл {имя: "demoform1.pdf", lastModified: 1565685422300, lastModifiedDate: вт 13 августа 2019 14:07:02 GMT + 0530 (стандартное время Индии), webkitRelativePath: "", размер: 20061,…} 1: Файл {name: "dummy.pdf", lastModified: 1565260694049, lastModifiedDate: Чт, 08 августа 2019 16:08:14 GMT + 0530 (стандартное время Индии), webkitRelativePath: "", размер: 13264,…}длина: 2
Метод:
uploadToServer(data) {
for ( let i = 0 ; i < data.length ; i++ ) {
const fileType = this.fileValidations.getFileExtension(data[i].name);
const filetype = {file_type : fileType};
const data1 = {file : data[i]};
let uploadFormData;
uploadFormData = (Object as any).assign({}, data1, filetype);
this.fileUploadService.uploadFile(uploadFormData).subscribe(res => {
this.documentCount = this.documentCount + 1;
const currentFileName = data[i].name;
this.documentDetailsObj.name = res.original_name;
this.documentDetailsObj.id = res.id;
this.documentNameArr.push((this.documentDetailsObj));
console.log(this.documentNameArr);
// Expected output :
// 0: {name: "pdf1.pdf", id: 1}
// 1: {name: "pdf2.pdf", id: 2}
// Current Output :
// 0: {name: "pdf2.pdf", id: 2}
// 1: {name: "pdf2.pdf", id: 2}
}, error => {
console.log('error');
});
}
}