2016-07-27 11 views
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を使用する際に助けが必要です。

+0

はい、すぐにblob()が公開されます。一方、それをチェックしてください:http://stackoverflow.com/questions/35368633/angular-2-download-pdf-from-api-and-display-it-in-view – mico

+0

ありがとうmico これは私の助けを借りて私を助けました –

+0

バイト配列の違いは何ですか?すべての要素またはヘッダー/フッターのみ? –

答えて

関連する問題