网站地图    收藏   

主页 > 前端 > javascript >

js 图片转base64

来源:未知    时间:2023-11-10 11:18 作者:小飞侠 阅读:

[导读] 要将图片转换为Base64编码的字符串,可以使用JavaScript中的Canvas对象来实现。以下是一个将图片转换为Base64的示例代码: function imageToBase64(imgSrc, callback) { var img = new Image(); img.crossOrigin...

要将图片转换为Base64编码的字符串,可以使用JavaScript中的Canvas对象来实现。以下是一个将图片转换为Base64的示例代码:

function imageToBase64(imgSrc, callback) {

  var img = new Image();

  img.crossOrigin = 'Anonymous';


  img.onload = function() {

    var canvas = document.createElement('canvas');

    canvas.width = img.width;

    canvas.height = img.height;


    var ctx = canvas.getContext('2d');

    ctx.drawImage(img, 0, 0);


    var dataURL = canvas.toDataURL('image/png');


    // 移除Base64编码前的部分

    var base64Data = dataURL.replace(/^data:image\/(png|jpg);base64,/, '');


    // 调用回调函数,传递Base64编码的字符串

    callback(base64Data);

  };


  img.src = imgSrc;

}


// 调用imageToBase64函数,传入图片URL和回调函数

var imageUrl = 'https://example.com/image.jpg';


imageToBase64(imageUrl, function(base64Data) {

  console.log(base64Data); // 输出Base64编码的字符串

});


在上述代码中,imageToBase64函数接受两个参数:图片的URL和一个回调函数。该函数会创建一个Image对象,将imgSrc赋值给img.src属性,同时设置img.crossOrigin为'Anonymous'以解决跨域问题。当图片加载完成后,会创建一个canvas元素用于绘制图片,并通过toDataURL方法将画布内容转换为Base64编码的字符串。最后,通过回调函数将Base64编码的字符串传递出去。

你需要将imgSrc变量设置为你想要转换为Base64的图片的URL。当转换完成后,Base64编码的字符串将通过回调函数返回并输出到控制台。请注意,由于安全策略限制,如果图片不允许跨域访问,基于canvas的转换可能会失败。在这种情况下,你可以将图片上传到与你使用的JavaScript代码同源的服务器上,以避免跨域问题。


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论