我正在尝试将base64
图像数据发送到Amazon S3。为此,我使用此函数将base64
字符串转换为blob。
function dataURItoBlob(dataURI) {
var binary = atob(dataURI.split(',')[1]);
var array = [];
for(var i = 0; i < binary.length; i++) {
array.push(binary.charCodeAt(i));
}
console.log("made it past atob");
var z = [new Uint8Array(array)];//phonegap stops here :(
console.log("made it past Uint8Array")
return new Blob(z, {type: 'image/png'});
}
它适用于Chrome,Safari和Firefox。
但是,在Android 4.3
上的电话号码中,[new Uint8Array(array)];
的联系失败
我认为Weinre报告的原因是“让它过去了atob”而不是“让它超越了Uint8Array”。
有没有人有办法将base64
转换为在phonegap中运行的blob?
或者可能是一个不依赖Uint8Array
的函数?