概述OPFS 适合后台读写,FSA 适合与用户交互的导入与导出。本文组合两者以实现可靠的文件流转。导入到 OPFSasync function importByPicker(toPath) { const [handle] = await window.showOpenFilePicker({ multiple: false }); const file = await handle.getFile(); const root = await navigator.storage.getDirectory(); const fh = await root.getFileHandle(toPath, { create: true }); const w = await fh.createWritable(); await w.write(await file.arrayBuffer()); await w.close(); } 从 OPFS 导出到用户目录async function exportToUserDir(fromPath) { const root = await navigator.storage.getDirectory(); const fh = await root.getFileHandle(fromPath); const file = await fh.getFile(); const save = await window.showSaveFilePicker({ suggestedName: fromPath.split('/').pop() }); const ws = await save.createWritable(); await ws.write(await file.arrayBuffer()); await ws.close(); }

发表评论 取消回复