我尝试创建一个Blob对象,并将Uint8Array传递给它的构造函数
在Windows上的chrome和firefox上工作正常
但是,在iOS上的chrome和safari中,Blod不包含Uint8Array的数据,而是文本:[object Uint8Array]
我需要将画布上传到服务器.
有解决方法吗?
解决方法:
我正在为完全相同的问题而苦苦挣扎.当我使用ArrayBuffer备份Uint8Array时,它在Safari和Chrome中都可以工作(尚未在其他浏览器中进行测试),但Chrome会显示警告消息. Chrome表示,在将ArrayBuffer传递给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弃用的确切消息是:
ArrayBuffer values are deprecated in Blob Constructor. Use
ArrayBufferView instead.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!