4+角度でブロブ応答タイプを保存します:どのように私は、だから私はそうのように、私の角度のファイルに戻りAPIを呼び出しています
getFile(fileInformation) {
const req = new HttpRequest('POST', 'filedownload', fileInformation, { reportProgress: true, responseType: "blob" });
return this.http.request(req);
}
とAPIコントローラ(で私はthis SO top answerに従っ)このステップを把握:
Public Function GetFile(fileInformation As FileDto) As HttpResponseMessage
Dim filePath = Path.Combine(FileConstants.FilePath, fileInformation.FileType, fileInformation.FileName)
Dim fileStream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
Dim result = new HttpResponseMessage(HttpStatusCode.OK)
result.Content = New StreamContent(fileStream)
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream")
Return result
End Function
この呼び出しから返された結果はHttpResponse
のものであり、体がタイプBlob
です。
HttpResponse: {
blob: {
size: 289940,
type: "application/octet-stream"
},
headers: ...,
status: 200,
...
}
どのように私は今、私が応答を受信角度成分にこのファイルのダウンロードをトリガーするのですか?
を呼び出します'FileSaver.saveAs(blob、fileName);を実行してください; –
可能であれば、外部ライブラリのダウンロードを見る前に、これをAngular内でネイティブに行うオプションを検討したいと思います。しかし、あなたの応答に感謝し、私は外部のライブラリなしでこれを行うことができない場合FileSaverを使用して調べます。 –