【发布时间】:2021-10-07 19:34:03
【问题描述】:
我正在尝试存储个人资料缩略图以便于访问。因为我想通过消除每次用户重新加载页面时获取图像路径的方法来最小化资源消耗。我们可以在vuex中存储图像数据吗?如果是,我们应该这样做吗?
【问题讨论】:
-
作为base64字符串?您可能有 XY 问题。图像应该通过浏览器缓存。 Vuex 默认不是持久化的,所以不能解决页面重载的问题
标签: vue.js local-storage vuex
我正在尝试存储个人资料缩略图以便于访问。因为我想通过消除每次用户重新加载页面时获取图像路径的方法来最小化资源消耗。我们可以在vuex中存储图像数据吗?如果是,我们应该这样做吗?
【问题讨论】:
标签: vue.js local-storage vuex
是的,你可以!
图像响应后,将图像传递给URL.createObjectURL()(Doc)。这会将图像缓存在浏览器中,并为您提供一个本地图像 url,然后您可以重复使用:
const imageUrl: string = URL.createObjectURL(response.data);
if (imageUrl) {
// Update your store with an object like this:
{ id: imageId, url: imageUrl };
}
然后您可以通过id 搜索您保存此信息的imageUrl[] 状态并再次检索该URL。
【讨论】: