我从画布上下载我的绘图时遇到问题。这是我的代码:

    function downloadCanvas(link, canvasId, filename) {
    link.href = document.getElementById(canvasId).toDataURL();
    const le = link.href;
    console.log(le);
    le.download = filename;
};
download.addEventListener('mousedown', function() {
    downloadCanvas(this, 'draw', 'Drawing.jpeg');
}, false);


控制台显示le的值,该值是下载链接,但未下载文件...这是什么问题?我是初学者。

最佳答案

您遇到的问题是您正在尝试下载链接位置,而您只需要下载链接文件即可。

要解决此问题,应将const le = link.href;更改为const le = link;。但是,您也可以摆脱const le并将le.download更改为link.download

希望有帮助!

编辑:

这是代码的清理版本:

function downloadCanvas(link, canvasId, filename) {
    link.href = document.getElementById(canvasId).toDataURL();
    link.download = filename;
};
download.addEventListener('mousedown', function() {
    downloadCanvas(this, 'draw', 'Drawing.jpeg');
}, false);

关于javascript - JavaScript Canvas下载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43380232/

10-13 02:22