`title: OPFS 原子写与临时文件替换策略``categories: Web 开发/前端/数据管理``keywords: OPFS,原子写,临时文件,替换,可靠性``description: 通过先写入临时文件并在成功后替换引用的策略,实现 OPFS 的原子性效果,避免中途失败导致的文件损坏。`写入策略async function atomicWrite(name, bytes) {

const root = await navigator.storage.getDirectory();

const tmp = await root.getFileHandle(name + '.tmp', { create: true });

const w = await tmp.createWritable();

await w.write(bytes);

await w.close();

await root.removeEntry(name).catch(() => {});

const final = await root.getFileHandle(name, { create: true });

const fw = await final.createWritable();

const file = await tmp.getFile();

await fw.write(await file.arrayBuffer());

await fw.close();

await root.removeEntry(name + '.tmp').catch(() => {});

}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部