vue的图片地址转为base64格式

Posted fengshaopu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue的图片地址转为base64格式相关的知识,希望对你有一定的参考价值。

getBase64(imgUrl, callback) {
      // 一定要设置为let,不然图片不显示

      const image = new Image();

      // 解决跨域问题

      image.setAttribute("crossOrigin", "anonymous");

      const imageUrl = imgUrl;

      image.src = imageUrl;

      // image.onload为异步加载

      // eslint-disable-next-line no-undef

      image.onload = function() {
        var canvas = document.createElement("canvas");

        canvas.width = image.width;

        canvas.height = image.height;

        var context = canvas.getContext("2d");

        // eslint-disable-next-line no-undef

        context.drawImage(image, 0, 0, image.width, image.height);

        var quality = 0.8;

        // 这里的dataurl就是base64类型

        // 使用toDataUrl将图片转换成jpeg的格式,不要把图片压缩成png,因为压缩成png后base64的 
         字符串可能比不转换前的长!

        const dataurl = canvas.toDataURL("image/jpeg", quality);

        callback ? callback(dataurl) : null; //调用回调函数

      };

    }

以上是关于vue的图片地址转为base64格式的主要内容,如果未能解决你的问题,请参考以下文章

html5 图片转为base64格式异步上传

base64转化为bmp图片?

markdown怎么上传图片

php 图片流 转为base64

js中图片base64格式转文件对象

PHP将图片转base64格式函数