gpt4 book ai didi

javascript - Blob 构造函数在 safari/opera 中不起作用?

转载 作者:搜寻专家 更新时间:2023-11-01 04:57:50 24 4
gpt4 key购买 nike

我正在尝试从原始来自二进制字符串的数组缓冲区构造一个 Blob。它在 Firefox 和 Chrome 中运行良好,但我不知道 Safari 和 Opera 有什么问题

这是我的问题的简化版本: http://plnkr.co/edit/sfEEHf?p=preview

// 1x1 red PNG pixle
base64 = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2P8z8DwHwAFBQIAHl6u2QAAAABJRU5ErkJggg==";
byteString = atob(base64);

// convert binary to array buff so we can construct a blob later
arrayBuffer = new ArrayBuffer(byteString.length);
intArray = new Uint8Array(arrayBuffer);

for (i = 0; i < byteString.length; i += 1) {
intArray[i] = byteString.charCodeAt(i);
}

// construct blob
blob = new Blob([intArray], {type: "image/png"});
console.log(blob.size); // suppose to be 70 (its 19 in safari)

最佳答案

在 Safari 中,您需要在 TypedArray 上使用“缓冲区”属性,即:

blob = new Blob([intArray.buffer], {type: "image/png"});

它会起作用。

关于javascript - Blob 构造函数在 safari/opera 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14347534/

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