【发布时间】:2021-08-18 03:28:09
【问题描述】:
我正在制作一个网站,我想在我的帐户页面的 cookie 中存储一张图片。当我上传个人资料图片时,它可以正常工作,但是当我重新加载时,个人资料图片是默认图片,而不是我之前选择的图片。当我刷新页面时,如何使个人资料图片保持不变而不是默认图片?我的代码:
function preview_image(event) {
var reader = new FileReader();
reader.onload = function(){
var output = document.getElementById('output_image');
output.src = reader.result;
}
reader.readAsDataURL(event.target.files[0]);
}
<!DOCTYPE html>
<html>
<body>
<img src="guest.png" id="output_image">
<input type="file"accept="image/*"onchange="preview_image(event)" id="file">
</body>
</html>
编辑:您现在可以使用 php。
【问题讨论】:
-
你能删除与问题无关的代码吗,比如 CSS 小山?
-
“图片中的cookie”是什么意思?
-
抱歉打错了。我会解决的
-
cookie 的最大大小为 4096 字节,而将图像存储到 cookie 中的唯一可能方式是 base64 编码,这将使图像的大小增加大约 33%,即 133大约以字节为单位的原始大小的百分比。所以您的最大图像大小将是 4096 字节的 66%,除非您将图像拆分到多个 cookie 中。那么可以做到吗?当然。应该是?显然不是,而且无论您是否表现出零努力,因为您的代码根本不会尝试将图像存储在 cookie 中。
-
@DrakeKrewson 您不应尝试将图像存储在 cookie 中。您可以在本地存储中存储更多数据,更轻松且具有无限持久性。您仍然需要对图像数据进行 base64 编码。您可以谷歌将二进制转换为base64并将base64反转为二进制的技术。然后你可以谷歌如何在本地存储中存储/检索/删除。这很容易。
标签: javascript php cookies