几个小时以来,我一直在纠结一个问题,这个问题在这里被问了几次:我有来自闪存录音机的二进制数据,我将其转换为 dataURL,然后想转换为 blob 以进行上传. SO给了我几个答案,基本上都是一样的:
我根据上面写了下面的代码
var data = window.atob(dataURL.split(',')[1]);
var length = data.length;
var uInt8Array = new Uint8Array(length);
for (var i = 0; i < length; ++i) {
uInt8Array[i] = data.charCodeAt(i);
}
var myfile = new Blob([uInt8Array], {'type': 'audio/x-wav'});
这在 firefox nightly (20) 和 chrome 25 中完美运行,但 chromium 20 一直告诉我 myfile 的大小是 19 字节(当它应该是几个 kb 时),随后的上传始终失败。这是铬中的一个错误,还是我错过了一个说它还不支持的文档?有什么替代的想法吗?