前端上传图片 canvase drawImg 报错

最近做一个项目,上传图片,但是经过canvas的时候,报错:
图片描述

function getBase64Image(img) {
                    var canvas = document.createElement("canvas"); //创建canvas DOM元素,并设置其宽高和图片一样
                    canvas.width = img.width;
                    canvas.height = img.height;
                    var ctx = canvas.getContext("2d");
                    ctx.drawImage(img, 0, 0, img.width, img.height); //使用画布画图
                    var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase(); //动态截取图片的格式
                    var dataURL = canvas.toDataURL("image/" + ext); //返回的是一串Base64编码的URL并指定格式
                    return dataURL;
                }
阅读 2.4k
2 个回答

根据错误信息,getBase64Image传入的img对象类型不对,一般来说应该是new Image()得到的HTMLImageElement对象。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题