【问题标题】:QuotaExceededError when saving images in localStorage在 localStorage 中保存图像时出现 QuotaExceededError
【发布时间】:2021-11-21 12:28:05
【问题描述】:

我正在尝试找出一种在浏览器内存中缓存图像的方法。我尝试将它们的 base64 表示形式保存在本地存储中,如下所示:

fr.readAsDataURL(blob)
fr.onloadend = () => {
   const base64 = fr.result
   localStorage.setItem(today.toDateString(), base64)
}

但是,我收到了the following error

QuotaExceededError:无法在“存储”上执行“setItem”:设置“2021 年 9 月 29 日星期三”的值超出了配额。

我怎样才能做到这一点?

【问题讨论】:

    标签: javascript google-chrome web


    【解决方案1】:

    你在 localStorage 中最多可以使用 5mb,老实说,如果你的图片是这样的大小,那将是一个糟糕的用户体验。

    您应该让浏览器在需要的地方自动缓存,尤其是对于他们已经非常聪明的媒体内容。

    Base64 我可以看出是个问题,有什么原因您不能提供 URL 代替吗?

    【讨论】:

    • 是的,Base64 不是一个正确的开始方法,我解决了缓存存储的问题,使用 url 来缓存资源,这是一个更简洁的解决方案,谢谢!
    • 很高兴你解决了它:)
    猜你喜欢
    • 1970-01-01
    • 2017-01-14
    • 2017-08-25
    • 2013-10-10
    • 2012-11-13
    • 1970-01-01
    • 2015-10-29
    • 2015-04-05
    • 1970-01-01
    相关资源
    最近更新 更多