首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >blob在ios上不接受Uint8Array

blob在ios上不接受Uint8Array
EN

Stack Overflow用户
提问于 2013-01-15 23:27:13
回答 1查看 5.7K关注 0票数 9

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

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

有解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-18 07:23:32

我正在为同样的问题而苦苦挣扎。当我用ArrayBuffer备份Uint8Array时,它在Safari和Chrome上都可以工作(还没有在其他浏览器上测试过),但是Chrome会打印一条警告消息。Chrome说在将ArrayBuffer传递给Blob()构造函数之前,我必须将它包装在DataView中。

代码语言:javascript
复制
// 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。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14340989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档