Как скачать файл используя .net и angular 7 - PullRequest
0 голосов
/ 24 мая 2019

У меня на сервере разные файлы, и я пытаюсь загрузить некоторые из них. У него разные имена и расширения, и я не могу жестко закодировать их в своем коде.

Как я могу скачать такие файлы?

Я использую .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 в ответ. Или другой способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...