簡體   English   中英

blob不接受ios上的Uint8Array

[英]blob does not accept Uint8Array on ios

我嘗試創建一個Blob對象並將Uint8Array傳遞給它的構造函數它在Chrome上的chrome和firefox工作正常在ios上的chrome和safari但是Blod不包含Uint8Array的數據但文本:[object 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});

編輯

確切的Chrome棄用郵件是:

Blob構造函數中不推薦使用ArrayBuffer值。 請改用ArrayBufferView。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM