У меня есть сервис для загрузки файлов, простая запись.
Я пытаюсь получить ответ на каждом шаге:
// Upload to server
this.dragdropService.addFiles(this.form.value.file)
.subscribe((event: HttpEvent<any>) => {
switch (event.type) {
case HttpEventType.Sent:
console.log('Request has been made!');
break;
case HttpEventType.ResponseHeader:
console.log('Response header has been received!');
break;
case HttpEventType.UploadProgress:
this.progress = Math.round(event.loaded / event.total * 100);
console.log(`Uploaded! ${this.progress}%`);
break;
case HttpEventType.Response:
console.log('File uploaded successfully!', event.body);
setTimeout(() => {
this.progress = 0;
this.fileArr = [];
this.fileObj = [];
this.msg = "File uploaded successfully!"
}, 3000);
}
})
}
Первый случай работает нормально - я получил
console.log 'Запрос выполнен'
, но ResponseHeader никогда не вызывается. Затем я получил ответ от UploadProgress - я получил
консольный журнал: «Загружено! 100% '
и в конце я хочу получить ответ, чтобы узнать, был ли файл добавлен. Также я хочу показать сообщение «Загрузка файла успешно»
Почему ResponseHeader и Response никогда не вызываются?