首页 > 解决方案 > 如何在javascript中将远程图像转换为base64

问题描述

我正在努力在 Laravel 和 Vue.js 中实现 FB 注册/登录。我想要的只是在Vue中将FB头像转换为base64字符串。我正在使用croppie包(https://github.com/Foliotek/Croppie),所以我需要将远程图像(Facebook头像)转换为base64字符串,这样我也可以向客人展示头像。请帮我。

提前致谢。

标签: javascriptimagevue.jsbase64

解决方案


很抱歉占用您的时间。我自己也解决了。


    imgTo64(url) {
        var vm = this
        var xhr = new XMLHttpRequest();
        xhr.onload = function () {
            var arr = new Uint8Array(this.response);
            var raw = String.fromCharCode.apply(null, arr);
            var b64 = btoa(raw);

            var dataURL = 'data:image/' + dataType + ';base64,' + b64;

            console.log(dataURL);
        };

        var dataType = 'jpeg';
        xhr.open('GET', url);
        xhr.responseType = 'arraybuffer';
        xhr.send();
    },

如果有人想得到同样的东西,希望从我的代码中得到解决方案。谢谢!


推荐阅读