сохранение html2canvas в формате jpeg без открытия в браузере

Я пытаюсь создать кнопку скриншота, которая создает изображение пользователяdocument.body.

В идеале, у пользователя будет возможность сохранить изображение локально как.jpeg.

Я близок к созданию нужной мне функциональности, используяhtml2canvas библиотека.

function screenGrabber() {
    html2canvas([document.body], {
    logging: true,
    useCORS: true,
    onrendered: function (canvas) {            

        img = canvas.toDataURL("image/jpg");

        console.log(img.length);
        console.log(img);

        window.location.href=img; // it will save locally
    }
});

}

Чтобы убедиться, что это работает, я открывалimg переменная в новом окне браузера. Изображение не отображается полностью, и я предполагаю, что это потому, что его длина превышает 30 000 символов.

Как я могу лучше дать пользователю возможность сохранить холст локально послеonrendered мероприятие?