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