概述通过读取响应流并逐块写入 OPFS,可降低内存占用并提高稳定性。流式保存async function saveResponseToOPFS(url, path) { const res = await fetch(url); if (!res.body) { const buf = await res.arrayBuffer(); return writeAll(path, new Uint8Array(buf)); } const root = await navigator.storage.getDirectory(); const segments = path.split('/').filter(Boolean); let dir = root; for (let i=0;i<segments.length-1;i++) dir = await dir.getDirectoryHandle(segments[i], { create: true }); const fh = await dir.getFileHandle(segments[segments.length-1], { create: true }); const ws = await fh.createWritable(); const reader = res.body.getReader(); while (true) { const { value, done } = await reader.read(); if (done) break; await ws.write(value); } await ws.close(); } async function writeAll(path, bytes) { const root = await navigator.storage.getDirectory(); const segments = path.split('/').filter(Boolean); let dir = root; for (let i=0;i<segments.length-1;i++) dir = await dir.getDirectoryHandle(segments[i], { create: true }); const fh = await dir.getFileHandle(segments[segments.length-1], { create: true }); const ws = await fh.createWritable(); await ws.write(bytes); await ws.close(); }

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
2.048660s