在JavaScript中将base64转换为Blob

Nyxynyx

我尝试使用以下功能在运行于iOS 8的Cordova / hybrid应用程序上将JPEG的base64字符串转换为blob b64toBlob

b64toBlob = function(b64, onsuccess, onerror) {
    var img = new Image();

    img.onerror = onerror;

    img.onload = function onload() {
        var canvas = document.createElement('canvas');
        canvas.width = img.width;
        canvas.height = img.height;

        var ctx = canvas.getContext('2d');
        ctx.drawImage(img, 0, 0, canvas.width, canvas.height);

        canvas.toBlob(onsuccess);
    };

    img.src = b64;
}

但是它给出了一个错误

Uncaught Error: TypeError: undefined is not a function (evaluating 'canvas.toBlob(onsuccess)')

当我们做

var imageData = "data:image/jpeg;base64," + imageData

b64toBlob(imageData,
    function(imageBlob) {
       uploadBlob(imageBlob)
    }, function(error) {
        console.log(error)
    });

如何解决此错误?

菲利普·韦利奇科维奇(FilipVeličković)

试试看 请注意,dataURI假定包含base64前缀。(例如:"data:image/jpeg;base64,"

function b64toBlob(dataURI) {

    var byteString = atob(dataURI.split(',')[1]);
    var ab = new ArrayBuffer(byteString.length);
    var ia = new Uint8Array(ab);

    for (var i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
    }
    return new Blob([ab], { type: 'image/jpeg' });
}

用法:

...

var blob = b64toBlob(imageData);

var formData = new FormData();
formData.append("source", blob);
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Flutter错误中将base64转换为图像

来自分类Dev

在流星应用中将base64转换为png

来自分类Dev

在ReactJS / Javascript中将Base64转换为PDF文件时遇到错误

来自分类Dev

在Javascript中将Blob同步转换为base64字符串

来自分类Dev

在Javascript中将Blob同步转换为base64字符串

来自分类Dev

如何在JavaScript中将base64 WAV转换为base64 mp3

来自分类Dev

如何在PHP中将base64转换为十六进制?

来自分类Dev

在R中将Base64转换为PNG / JPEG文件

来自分类Dev

在Java中将Base64转换为二进制字符串

来自分类Dev

如何使用javascript将base64转换为压缩文件?

来自分类Dev

将base64转换为位图

来自分类Dev

如何快速将base64转换为NSDATA

来自分类Dev

将Base64转换为Hex混淆

来自分类Dev

Dart从base64转换为HEX

来自分类Dev

PHP:将base64转换为图像

来自分类Dev

如何在javascript / jquery中将已编码的base 64转换为UTF-16LE

来自分类Dev

在PHP中将字符串base64转换为整数/浮点数/字符数组

来自分类Dev

在angularjs中将图像转换为base64

来自分类Dev

如何在C中将图像转换为base64?

来自分类Dev

如何在Postgres中将bytea转换为base64

来自分类Dev

在Ruby中将实际图像转换为base64

来自分类Dev

如何在Azure中将pdf转换为base64

来自分类Dev

如何在C中将图像转换为base64?

来自分类Dev

在Android中将Image对象转换为Base64 String

来自分类Dev

如何在Java中将java.sql.blob转换为base64编码的字符串

来自分类Dev

如何在Java中将java.sql.blob转换为base64编码的字符串

来自分类Dev

将图像base64转换为base30

来自分类Dev

如何在Android中将位图转换为PNG,然后转换为base64?

来自分类Dev

将图像从base64转换为图像并保存在Django的数据库中

Related 相关文章

热门标签

归档