Пробовал путем загрузки файла изображения JPEG.Он успешно загружается, но не открывается.
Проблема связана с файлами любого типа, будь то doc, xl, текст или что-то еще.
Вот мой код .Net Core Web APIis ->
[HttpGet]
[Route("documentdownloaddetail1/{documentId}")]
public async Task<IActionResult> GetDocumentDetailById1(Guid documentId) {
DocumentResponseModel model = _documentDataService.GetDocumentDetailById(documentId);
FileStream stream = _documentDataService.GetFileStream(documentId, model.FileStorageId, model.FileName);
if(stream == null)
return NotFound();
return File(stream, "application/octet-stream"); // returns a FileStreamResult
}
вот мой угловой код 6 ->
// Download document.
public downloadDocument (docItem: any) {
this.customerSupportService.getDocumentDetailById (docItem.uid)
.subscribe (
blob => {
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob (blob, docItem.name);
} еще{
var a = document.createElement ('a');
document.body.appendChild (a);
a.href = URL.createObjectURL (blob);
a.download = docItem.name;
document.body.appendChild (a);
a.click ();
document.body.removeChild (a);
}
}
);
}
И мой метод http get->
getDownload(url: string, actionMethodName: string): Observable<Blob> {
let httpOptions = {
headers: new HttpHeaders({
'responseType': 'ResponseContentType.blob'
})
};
return this.http.get<Blob>(url, {responseType: 'blob' as 'json'})
.pipe(map((res: any) => {
debugger;
return new Blob([res], {
type: 'application/octet-stream'
})
}));
return this.http.get(url, {responseType: 'blob'});
}