gpt4 book ai didi

javascript - blob 不接受 ios 上的 Uint8Array

转载 作者:技术小花猫 更新时间:2023-10-29 11:19:30 29 4
gpt4 key购买 nike

我尝试创建一个 Blob 对象并将 Uint8Array 传递给它的构造函数它在 chrome 和 firefox 上运行良好然而,在 iOS 上的 chrome 和 safari 中,Blod 不包含 Uint8Array 的数据,而是包含文本:[object Uint8Array]

我需要这个来将 Canvas 上传到服务器。

有解决办法吗?

最佳答案

我正在为完全相同的问题而苦苦挣扎。当我使用 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});

编辑

确切的 Chrome 弃用消息是:

ArrayBuffer values are deprecated in Blob Constructor. Use ArrayBufferView instead.

关于javascript - blob 不接受 ios 上的 Uint8Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340989/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com