执行此序列时
- 获取一个新文件的句柄
window.showSaveFilePicker
,比如说filename.ext
- 从句柄中获取可写文件流
- 使用流将一些内容写入文件
close
表示完成的流
文件系统 API 写入filename.ext.crswap
和close
复制filename.ext.crswap
到filename.ext
有filename.ext.crswap
没有更名的原因filename.ext
?
执行此序列时
window.showSaveFilePicker
,比如说filename.ext
close
表示完成的流文件系统 API 写入filename.ext.crswap
和close
复制filename.ext.crswap
到filename.ext
有filename.ext.crswap
没有更名的原因filename.ext
?
这种行为的原因是为了避免部分写入:
“用户代理试图确保不会发生部分写入,即由 代表的文件fileHandle
将包含其旧内容,或者将包含通过流写入的任何数据,直到流关闭为止。” —<a href="https://wicg.github.io/file-system-access/#:%7E:text=User%20agents%20try%20to%20ensure%20that%20no%20partial%20writes%20happen%2C %20i.e.%20the%20file%20represented%20by%20fileHandle%20will%20either%20contains%20its%20old%20contents%20or%20it%20will%20contain%20whatever%20data%20was%20written%20through%20stream%20up% 20until%20the%20stream%20has%20been%20close。” rel="nofollow noreferrer">规范。