角度2 /タイプスクリプトとWeb APIを使用してファイルをダウンロードしようとしています。私が抱えている問題は、テキストファイルをダウンロードするときにファイルがファイルですが、たとえばPDFファイルをダウンロードしようとすると、ファイルが破損するということです。ダウンロードしたファイルの内容が乱雑になります。次のように角度2ファイルをダウンロード中:破損した結果
私が使用してい活字体は次のとおりです。
downloadFile(fileId: string): Observable<File> {
this.applicationsUrl = `${APIConfig.BaseUrl}/documents/download/${fileId}/`;
let headers = new Headers({ 'Content-Type': 'application/json', 'MyApp-Application' : 'AppName' });
let options = new RequestOptions({ headers: headers });
return this.http.post(this.applicationsUrl, '', options)
.map(this.extractContent)
.catch(this.handleError);
}
private extractContent(res: any) {
let blob: Blob = new Blob([res._body], { type: 'application/pdf'});
window['saveAs'](blob, 'test.pdf');
}
ウィンドウ[「のsaveAs」]のJavaScript FileSaver.js機能にアクセスするための単なる回避策です。
さらに、res:res:anyへのレスポンスを設定すると、TypeScriptでコンパイルエラーが発生していないJavaScriptのprivate _bodyプロパティにアクセスできます。
ご協力いただければ幸いです。角度RC5次のコードのよう
どのようにFileSaverを使用していますか? Typescriptでそれを使用する例がありますか? –