我从 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) 但我得到“无法在 'Window' 上执行 'btoa':要编码的字符串包含 Latin1 范围之外的字符。”
如何将其转换为 Uint8Array?