在前端将image转成base64编码

淮城一只猫 · · 395次浏览 ·

前言

业务需要,需要把图片转换成base64数据。 要实现这个功能,要使用canvas来做,Canvas里面提供了一个toDataURL的接口,可以用这个接口获得图片的base64 所以思路是:

  • 获得canvas对象
  • 加载图片到canvas对象里面
  • 从canvas对象中获取base64数据

实例


<html lang="zh-CN">

  <meta charset="UTF-8">
  <title>Document</title>


<script type="text/javascript">
    function getBase64Image(img) {
      var canvas = document.createElement("canvas");
      canvas.width = img.width;
      canvas.height = img.height;
      var ctx = canvas.getContext("2d");
      ctx.drawImage(img, 0, 0, img.width, img.height);
      var dataURL = canvas.toDataURL("image/png");
      return dataURL
      // return dataURL.replace("data:image/png;base64,", "");
    }
    function main() {
      var img = document.createElement('img');
      img.src = './images/yeoman.png';
      img.onload =function() {
        var data = getBase64Image(img);
        console.log(data);//控制台输出
      }
      document.body.appendChild(img);
    }
    main()
  </script>



淮城一只猫

永远年轻,永远热泪盈眶

发表评论

电子邮件地址不会被公开。 必填项已用*标注

我不是机器人*