У меня на сервере разные файлы, и я пытаюсь загрузить некоторые из них.
У него разные имена и расширения, и я не могу жестко закодировать их в своем коде.
Как я могу скачать такие файлы?
Я использую .Net core web-api и Angular 7.
.Net:
public async Task<IActionResult> GetFile(DownloadFileQuery query)
{
try
{
var result = await QueryHandler.Handle(query);
return File(result.Content, "application/octet-stream", result.Name);
}
catch (Exception e)
{
return BadRequest(e);
}
}
Угловой:
// component
// my console log:
// Blob {size: 103550, type: "application/octet-stream"}
// I don't receive filename and extension
..
downloadFile(fileId: string) {
this.fileService.downloadFile(fileId).subscribe(
data => {
console.log(data);
FileSaver(data, 'How can I find out which file I received?');
},
error => console.log(error)
);
}
..
// service
..
downloadFile(fileId: string) {
const queryParams = new HttpParams()
.set('FileId', param);
return this.http.get(`api/file/file`, { params: queryParams , responseType: 'blob'});
}
..
Я ожидаю получить filename.extension в ответ. Или другой способ сделать это.