我一直拉着我的頭髮了幾個小時,現在已經問了幾次這裏的問題: 我有一個閃存錄音機的二進制數據,我轉進入一個dataURL,然後想要轉換爲一個blob上傳。 SO給了我幾個答案,其本質上都是一樣的:data:Blob的URL - 問題與鉻
- Blob from DataURL?
- How to convert dataURL to file object in javascript?
- Convert Data URI to File then append to FormData
我寫了一個基於上述
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'});
下面的代碼
這在杉木中完美運作efox nightly(20)和chrome 25,但是鉻20一直告訴我myfile的大小是19字節(當它應該是幾kb),並且隨後的上載失敗一致。 這是一個鉻中的錯誤,還是我錯過了一個文件說它不支持?任何替代的想法?
雖然[這個答案](http://stackoverflow.com/a/11954337/1558890)說'BlobBuilder' API已被棄用,你試過了,如果使用它在Chromium上工作?該答案中的示例代碼填充了非類型數組,然後將其轉換爲類型數組。我看不出爲什麼會這麼重要,但是你試過這個嗎?一個jsfiddle可能是有用的... ... –
好吧,它看起來像「BlobBuilder/webkitBlobBuilder」甚至不存在鉻,所以我甚至不能回退它... –
哦,是的,我確實嘗試過無類型數組第一,沒有運氣。 –