Javascript 如何下载Blob为JSON的VUEX应用商店
我的Vuex存储中有blob,我想将应用程序的状态下载为.JSON并将其还原 一般来说,JSON.stringify(store.state,…)在没有blob的情况下工作得很好。我只是不知道如何将blob存储到JSON中 这是我的密码。Javascript 如何下载Blob为JSON的VUEX应用商店,javascript,json,vue.js,blob,vuex,Javascript,Json,Vue.js,Blob,Vuex,我的Vuex存储中有blob,我想将应用程序的状态下载为.JSON并将其还原 一般来说,JSON.stringify(store.state,…)在没有blob的情况下工作得很好。我只是不知道如何将blob存储到JSON中 这是我的密码。if(value instanceof Blob)-块包含我将Blob转换为JSON的尝试 const s = JSON.stringify(store.state , (key, value) => { // let proc
if(value instanceof Blob)
-块包含我将Blob转换为JSON的尝试
const s = JSON.stringify(store.state
, (key, value) => {
// let process = true;
if (typeof value === 'object') {
if(value instanceof Blob){
//I can't get this to work:
// const reader = new FileReader();
// // let process = false;
// reader.onload = function(event){
// console.log(JSON.stringify(reader.result));
// value = JSON.stringify(reader.result);
// return value;
// };
// reader.readAsText(value);
// process = false;
}
// Duplicate reference found, discard key
if (cache.includes(value)) return;
// Store value in our collection
cache.push(value);
}
if(process){
return value;
}
})
//download
const newBlob = new Blob([s], { type: 'application/json;' });
const filename = `jam-along-${new Date().getTime()}.json`;
saveAs(newBlob, filename);
cache = [];
}
另一个想法是使用Vuex Persist下载带有定制的saveState:(键、状态、存储)=>{…
,但我无法让它工作。我不希望Vuex Persist在sessionStore或localStorage中执行任何操作,我希望在不改变存储的情况下从外部触发saveState
有没有办法下载和恢复我的vuex商店
谢谢大家!