Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Base64远程文件_Javascript_Image_Base64 - Fatal编程技术网

Javascript Base64远程文件

Javascript Base64远程文件,javascript,image,base64,Javascript,Image,Base64,是否可以直接从远程URL使用Javascript对文件进行base64编码?例如,如果我想在我的应用程序中只使用javascript对google徽标进行base64编码,可以吗 我找到了一个可行的解决方案,使用html5画布,并在这里复制了jquery-JSFIDLE。我可能会走这条路: 我发现了一个可行的解决方案,使用html5画布,并在这里复制了jquery-JSFIDLE。我可能会走这条路: function convertImgToBase64(url, callback, out

是否可以直接从远程URL使用Javascript对文件进行base64编码?例如,如果我想在我的应用程序中只使用javascript对google徽标进行base64编码,可以吗

我找到了一个可行的解决方案,使用html5画布,并在这里复制了jquery-JSFIDLE。我可能会走这条路:


我发现了一个可行的解决方案,使用html5画布,并在这里复制了jquery-JSFIDLE。我可能会走这条路:

function convertImgToBase64(url, callback, outputFormat) {
    var img = new Image();
    img.crossOrigin = 'Anonymous';
    img.onload = function () {
        var canvas = document.createElement('CANVAS');
        var ctx = canvas.getContext('2d');
        canvas.height = this.height;
        canvas.width = this.width;
        ctx.drawImage(this, 0, 0);
        var dataURL = canvas.toDataURL(outputFormat || 'image/png');
        callback(dataURL);
        canvas = null;
    };
    img.src = url;
}


$('#img2b64').submit(function (event) {
    var imageUrl = $(this).find('input[name=url]').val();
    console.log('imageUrl', imageUrl);
    convertImgToBase64(imageUrl, function (base64Img) {
        $('.output')
            .find('textarea')
            .val(base64Img)
            .end()
            .find('a')
            .attr('href', base64Img)
            .text(base64Img)
            .end()
            .find('img')
            .attr('src', base64Img);
    });

    event.preventDefault();
});