canvas.toDataURL 处理图片时传递参数 quality 将图片压缩无效

图片转bace64方法如下

function getBase64Image(img) {
    var dataURL;
    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 ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
    dataURL = canvas.toDataURL("image/" + ext, 0.5);
    return dataURL;
}

在 canvas.toDataURL 时传 quality 参数,不管传几都没有体现出来压缩,传1图片出来是300k ,传0.1出来也是300k

求解

canvas.toDataURL(type, args) type为image/jpeg时才会有效果