我尝试创建一个 Blob 对象并将 Uint8Array 传递给它的构造函数它在 windows 上的 chrome 和 firefox 上工作正常在 ios 上的 chrome 和 safari 但是 Blod 不包含 Uint8Array 的数据,但文本:[object Uint8Array]
我需要这个来将画布上传到服务器。
有解决方法吗?
我尝试创建一个 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 值在 Blob 构造函数中已弃用。请改用 ArrayBufferView。