我嘗試創建一個Blob對象並將Uint8Array傳遞給它的構造函數 它在窗口上的chrome和firefox上正常工作 在ios上的chrome和safari上,但是Blod不包含Uint8Array,但文本:[對象Uint8Array]blob不接受ios上的Uint8Array
我需要這上傳畫布到服務器。
是否有解決方法?
我嘗試創建一個Blob對象並將Uint8Array傳遞給它的構造函數 它在窗口上的chrome和firefox上正常工作 在ios上的chrome和safari上,但是Blod不包含Uint8Array,但文本:[對象Uint8Array]blob不接受ios上的Uint8Array
我需要這上傳畫布到服務器。
是否有解決方法?
我正在努力解決完全相同的問題。當我使用ArrayBuffer備份Uint8Array時,它在Safari和Chrome中都能正常工作(尚未在其他瀏覽器中測試過),但Chrome會打印警告消息。 Chrome說我必須在將DataBuffer傳遞給Blob()構造函數之前將它包裝在DataView中。
// write the bytes of the string to an ArrayBuffer
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
new Blob([ab], {type: mimeString});
編輯
確切鉻棄用消息爲:
ArrayBuffer值在斑點構造棄用。改爲使用 ArrayBufferView。
聽起來像那個方法需要字符串參數,但你傳遞一個對象,所以它的toString()方法被調用,在JS中,返回類似於你的問題來表示對象。 – marekful
我不這麼認爲。它在Windows PC上正常工作,如果我傳遞一個正常的數組。它工作正常。 –