我尝试创建一个 Blob 对象并将 Uint8Array 传递给它的构造函数
它在 Windows 上的 chrome 和 firefox 上运行良好
然而,在 ios 上的 chrome 和 safari 中,Blod 不包含 Uint8Array 的数据,而是包含文本:[object Uint8Array]
我需要这个来将画布上传到服务器。
有解决方法吗?
我正在努力解决完全相同的问题。当我用 ArrayBuffer 备份 Uint8Array 时,它可以在 Safari 和 Chrome 中使用(尚未在其他浏览器中进行测试)但 Chrome 会打印一条警告消息。 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});
Edit
确切的 Chrome 弃用消息是:
Blob 构造函数中已弃用 ArrayBuffer 值。使用
ArrayBufferView 代替。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)