6
私のシステムでアンバー2(ベータ版)のセキュアAPIを使用してファイル(PDF/Excel/text)をダウンロードする作業を現在遂行中です。文字列/テキストをタイプ・スクリプトのバイト配列に変換する
私は認証ヘッダーでPOST APIを使用し、受信したデータバイトを使用してBLOBを作成しようとしました。
私は次のコード
return this.http.get(url, { headers: this.headers}).map(response => response.blob())
を使用して試してみました。しかし、私はブロブ法は、角2 HTTPで実装されていないというエラーが発生しました。
私はバイト配列に文字列を変換する必要があるので、次のコードを試しています。
return this.http.get(Configuration.API_URL + url, { headers: this.headers }).map(
response => {
var bytes = [];
var utf8 = encodeURIComponent(response.text());
for (var i = 0; i < utf8.length; i++) {
bytes.push(utf8.charCodeAt(i));
}
var data = new Blob([bytes], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(data);
window.open(fileURL);
}
);
ここで私はバイト配列に問題があります。バイト配列は、APIによって送信されたものと同じではありません。
文字列をバイト配列に変換するか、または角2のHTTP get要求でBLOBを使用する際に助けが必要です。
はい、すぐにblob()が公開されます。一方、それをチェックしてください:http://stackoverflow.com/questions/35368633/angular-2-download-pdf-from-api-and-display-it-in-view – mico
ありがとうmico これは私の助けを借りて私を助けました –
バイト配列の違いは何ですか?すべての要素またはヘッダー/フッターのみ? –