我的服务器上有不同的文件,我尝试下载其中一些文件。 它具有不同的名称和扩展名,我无法在代码中对其进行硬编码。
我如何下载此类文件?
我正在使用.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作为响应。或另一种方式。