【发布时间】:2021-02-03 16:48:00
【问题描述】:
以下代码是将数据保存到目标数据库的最终操作。
const onFileUpload = (e) => {
const files = Array.from(e.target.files);
const formData = new FormData();
formData.append('attachable_type', attachableType);
formData.append('attachable_id', attachableId);
if (files.length > 0) {
const file = files[0];
formData.append('file', file);
upload(dispatch, {
body: formData,
}).then(() => {});
}
};
现在我正在构建一个离线应用程序,当没有可用的互联网时,我想将此请求保存到 indexdb。我有整个设置。我只想知道如何将FormData 实例保存到 indexdb,以便以后可以从 indexdb 中获取它并将其发送到服务器进行永久存储。我需要一些想法。我尝试了一些谷歌,但我没有看到以下问题的任何直接答案。我正在使用idb npm 插件。我将使用以下更新函数作为与数据库对话的接口。
export async function update(attrs) {
const db = await createAppDB();
const tx = db.transaction('attachments', 'readwrite');
const store = tx.objectStore('attachments');
store.put(attrs);
await tx.done;
}
【问题讨论】:
标签: javascript service-worker indexeddb