目前仅在 chrome 86 (edge 86, opera 72)及以上版本支持, safari 和 firefox 暂时不支持
允许 Web 应用程序从用户设备的本地文件系统中操作文件, 它为 Web 应用程序提供了更多的灵活性和功能, 使其更接近于本地应用程序的体验
File System API 遵循同源策略, 只允许 Web 应用程序在具有相同源的文件系统上进行操作, 当使用该 API 时, 会提示用户授权应用程序访问文件系统
- 将文件从本地文件系统上传到 Web 应用程序
- 将 Web 应用程中的数据写入到本地文件系统中
- 在用户的本地文件系统中创建、重命名和删除文件
- 读取本地文件系统上的文件内容
1 | /** |
window.showOpenFilePicker
, window.showSaveFilePicker
, window.showDirectoryPicker
API 只能由用户行为触发, 程序主动调用报安全错误
SecurityError: Failed to execute ‘showDirectoryPicker’ on ‘Window’: Must be handling a user gesture to show a file picker.
createSyncAccessHandle()
, FileSystemSyncAccessHandle 只能在专用的 web worker 中使用
navigator.storage
只读属性返回一个单例的 StorageManager 对象, 只能在 HTTPS 中使用
FileSystemHandle接口
是 File System API 表示文件或目录条目的对象, 多个句柄可以代表同一个条目,通常情况下, 使用它的子接口 FileSystemFileHandle
和 FileSystemDirectoryHandle
- FileSystemFileHandle
- FileSystemDirectoryHandle