blob不接受ios上的Uint8Array

我尝试创build一个Blob对象,并将Uint8Array传递给它的构造函数它可以在窗口上的Chrome和Firefox上正常工作但是,在Chrome和Safari浏览器上,Blod不包含Uint8Array的数据,而是包含文本:[object Uint8Array]

我需要这个上传一个canvas到服务器。

有没有解决方法?

我正在努力解决完全相同的问题。 当我使用ArrayBuffer备份Uint8Array时, 它在Safari和Chrome中都能正常工作 (尚未在其他浏览器中testing过),但Chrome会打印一条警告消息。 铬说,我必须包装ArrayBuffer在DataView之前传递给Blob()构造函数。

// 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构造函数中不build议使用ArrayBuffer值。 改用ArrayBufferView。