gpt4 book ai didi

javascript - 非法构造函数错误 : convert Base64 to Blob fails on cordova

转载 作者:行者123 更新时间:2023-11-30 01:19:28 26 4
gpt4 key购买 nike

我想使用 AngularJS 将我的 Base64 图像转换为我的 cordova 应用程序项目中的 blob,但我不断收到 Illegal constructor 错误。我已经尝试了很多在线提供的解决方案,但似乎都没有用。任何帮助表示赞赏。

var imageElement = angular.element(document.querySelector('#profileImg'));
var imageURI = dataURIToBlobURI(imageElement.attr('src'));

function dataURIToBlobURI(dataURI) {
// convert base64 to raw binary data held in a string
// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
var byteString = atob(dataURI.split(',')[1]);

// separate out the mime component
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]

// 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);
}

var bb = new Blob([ab], {type: 'image/png'});
return bb;
}

我一直在此处收到错误 new Blob([ab], {type: 'image/png'}) 并且似乎不知道如何让它工作。仅当应用在 Android 或 iOS 中时才会发生,而不会在 Chrome 中查看时发生。

我尝试了以下方法,但都无济于事。

var bb = new Blob(ab);
var bb = new Blob([ab]);
var bb = new Blob(dataURI);

谢谢

最佳答案

金斯莱!可能,您可以重现错误的设备实际上并不支持 Blob。实际上你可以使用两种方式:

首先,检查 polyfill或类似于解决您的问题的方法。它将允许您将 Blob 用作构造函数。

其次,除了 Blob,您还可以使用 BlobBuilder。下面的小例子,

var bb = new BlobBuilder();
bb.append('blob content');
var blob = bb.getBlob('text/plain');

关于javascript - 非法构造函数错误 : convert Base64 to Blob fails on cordova,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37344420/

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