html 在js中不使用xhr可以将img src转换为base64吗?

0vvn1miw  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(100)

由于某些原因,我不能在我的webview中使用任何xhr请求,所以当我打开html时,img的所有src都可以加载,但是如果我想用jsPDF之类的东西将它们保存到pdf中,那么由于xhr请求失败,所有的img都会丢失。所以我想问一下,在没有xhr请求的情况下加载页面后,有没有办法将img src转换为base64?在加载页面后,我想图像已经下载了,所以有没有可能在本地找到它并转换为base64,然后将它们设置回src?

wooyq4lh

wooyq4lh1#

也许可以用canvas把src改成base64?

const images = document.querySelectorAll("img");
    
    images.forEach(img => {
      img.onload = function() {
        const canvas = document.createElement("canvas");
        const ctx = canvas.getContext("2d");
        canvas.width = img.width;
        canvas.height = img.height;
        ctx.drawImage(img, 0, 0);
        const dataURL = canvas.toDataURL("image/jpeg");
        img.setAttribute("src", dataURL);
      };
    });

相关问题