您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将映像保存到localStorage并将其显示在下一页上?

如何将映像保存到localStorage并将其显示在下一页上?

对于也需要解决此问题的人:

首先,我使用获取图像getElementByID,并将图像另存为Base64。然后,我将Base64字符串保存为我的localStorage值。

bannerImage = document.getElementById('bannerImg');
imgData = getBase64Image(bannerImage);
localStorage.setItem("imgData", imgData);

这是将图像转换为Base64字符串的函数

function getBase64Image(img) {
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;

    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0);

    var dataURL = canvas.toDataURL("image/png");

    return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}

然后,在我的下一页上,我创建了一个带有空白的图像,src如下所示:

<img src="" id="tableBanner" />

直接在页面加载时,我使用下面的三行从中获取Base64字符串localStorage,并将其应用于具有src我创建的空白的图像:

var dataImage = localStorage.getItem('imgData');
bannerImg = document.getElementById('tableBanner');
bannerImg.src = "data:image/png;base64," + dataImage;

在许多不同的浏览器和版本中对其进行了测试,并且看起来运行良好。

其他 2022/1/1 18:16:37 有326人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶