У меня есть веб-API, написанный на. NET Core, которое возвращает файл следующим образом:
[Authorize]
[HttpGet("{id}")]
public async Task<IActionResult> GetFile(int id)
{
var response = await _fileService.GetFile(id);
Response.Clear();
return File(response.FileByteArray, response.FileType, response.FileName);
}
public async Task<FileResponseDTO> GetFile(int fileId)
{
using (var unitOfWork = _unitOfWorkFactory.CreateUnitOfWork())
{
var response = new FileResponseDTO();
var file = await unitOfWork.FileRepository.GetFile(fileId);
if (file != null)
{
string filePath = GetFilePath(file.FileName);
response.FileByteArray = System.IO.File.ReadAllBytes(filePath);
response.FileName = file.FileName;
response.FileType = file.FileType; ;
}
return response;
}
}
Он возвращает файл следующим образом:
Теперь я хочу использовать службу, используя Angular со следующей функцией в службе:
getFile(id: number): Observable<File> {
return this.http.get<File>(
this.uri + `/file/${id}`
);
}
Может кто-нибудь, пожалуйста, помогите, как использовать этот api, а также как можно Отображаю изображение / файл в формате Chrome?
Спасибо.