当前位置: 首页 > 面试题库 >

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

陈成济
2023-03-14
问题内容

因此,基本上,我需要上传单个图像,将其保存到localStorage,然后在下一页上显示。

目前,我已经上传了HTML文件:

<input type='file' id="uploadBannerImage" onchange="readURL(this);" />

使用该功能在页面上显示图像

function readURL(input) 
{
    document.getElementById("bannerImg").style.display = "block";

    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            document.getElementById('bannerImg').src =  e.target.result;
        }

        reader.readAsDataURL(input.files[0]);
    }
}

该图像立即显示在页面上,供用户查看。然后要求他们填写表格的其余部分。这部分工作正常。

表格填写完毕后,他们将按“保存”按钮。按下此按钮后,我将所有表单输入另存为localStorage字符串。我需要一种将图像另存为localStorage项目的方法。

保存按钮还会将它们定向到新页面。这个新页面将在表格中显示用户数据,图像在顶部。

如此简单明了,localStorage一旦按下“保存”按钮,我需要保存图像,然后将图像借出到下一页localStorage

尽管我仍然对其工作方式非常困惑,但我只需要一个简单的解决方案。基本上,我只需要通过getElementByID按“保存”按钮找到图像,然后处理并保存图像。


问题答案:

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

首先,我使用获取图像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;

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



 类似资料:
  • 所以,基本上,我需要上传单个图像,将其保存到localStorage中,然后在下一页上显示它。 目前,我有我的HTML文件上载: 它使用该函数在页面上显示图像 图像会立即显示在页面上供用户查看。然后要求他们填写表格的其余部分。这部分工作很好。 一旦表格完成,他们然后按下一个“保存”按钮。按下此按钮后,我将所有表单输入保存为字符串。我需要一种方法来将图像保存为项。 save按钮还将引导他们进入一个新

  • 问题内容: 我正在编写Django应用程序,它将获取特定URL的所有图像并将其保存在数据库中。 但是我没有在Django中使用ImageField。 Settings.py models.py download_img.py 我正在像这样的一个视图内调用download_imgs.py 问题答案: Django Documentation总是一个很好的起点 更新 因此,此脚本有效。 循环播放图片以

  • 问题内容: 我必须使用JavaScript创建一个表单,用户将上载JPG文件并与其他信息(例如名称,电子邮件等)一起提交。当用户单击提交时,表单中的所有信息将被加载到值对象中。对于图像文件,我将其设置为。 所以假设: 我还设置了一个servlet来处理提交,但是我不确定如何开始。上传如何进行?用户提交时,如何获取图像信息?这是屏幕截图:http : //imageshack.us/f/32/776

  • 问题内容: 我想通过AJAX将字段数据从表单发送到文件,并且在网上找到了此解决方案:http : //techglimpse.com/pass-localstorage- data-php-ajax-jquery/ 唯一的问题是,我有多个字段而不是单个字段,并且我想将输出(localStorage)保存为HTML(或任何其他格式)文件,而不是将其显示在#output div中。 我怎样才能做到这一

  • 问题内容: 我想使用PHP生成条形码(任何类型) 我在存储代码的地方有一个变量 所以我只想生成一个条形码并在我想要的地方回显条形码图像.....请帮助 问题答案: 该BarCode PHP有一个库。您只需要包括一些文件: 您可以生成多种类型的条形码,即1D或2D。添加所需的库: 产生颜色: 添加所有代码后,您将获得以下方式: 例 由于有几个人要求提供示例,这就是我能够做到的事情 如果要实际创建图像

  • 我存储我的图像在Firebase存储现在我想显示在我的页面上 我的设置就是这样的。 这是我的get方法。 我只是尝试了一下,因为它是写在谷歌云计算的npm文档上的。我试着把它放在get方法中,看看它是如何工作的。 之后,我得到了这个错误... 这是我的ajaxget方法 这里是否有人可以指导我如何从firebase存储中检索图像并将其显示在我的网页上?。使用谷歌云npm?因为我读到一些线程,节点j