ここで数回尋ねられた質問で、私は何時間も髪を引っ張ってきました: フラッシュ オーディオ レコーダーからのバイナリ データがあり、それを 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 である必要がある場合) であると通知され続け、その後のアップロードは一貫して失敗します。これはクロムのバグですか、それともまだサポートされていないというドキュメントを見逃していましたか? 代替案はありますか?