1

HTTP リクエストから次のバイナリ ストリームを受信して​​います。

HTTP リクエスト

Document.get({id: $scope.documentId}, function(stream){

});

アンギュラーファクトリー

.factory('Document', ['$resource', 'DOCUMENTS_CONFIG',
    function($resource, DOCUMENTS_CONFIG) {
        return $resource(DOCUMENTS_CONFIG.DETAIL_URL, {}, {
            get: {
                method: 'GET', 
                params: {}, 
                url: DOCUMENTS_CONFIG.DETAIL_URL,
                isArray: false
            }
        });
    }
]);

応答

console.log(stream) これを Uint8Array に変換する必要があります。私はそれをbas64に変換しようとしました

// Convert Binary Stream To String
var dataString = JSON.stringify(stream);

// Convert to Base 64 Data
var base64Data = window.btoa(unescape(encodeURIComponent(dataString)));  

これを実行すると、「不正な形式の uri 例外」というエラーが表示されます。window.btoa(dataString) も試しましたが、「'ウィンドウ' で 'btoa' を実行できませんでした: エンコードする文字列には、Latin1 範囲外の文字が含まれています。」

これを Uint8Array に変換するにはどうすればよいですか?

4

1 に答える 1