Chrome 浏览器可以读写本地文件了,虽说是实验api,但是基本86+已经支持了

目前该API只能在https域名上使用!!!

实现逻辑:

1.唤醒浏览器选择文件夹、文件权限

复制代码
document.getElementById('button').addEventListener('click', async () => {
 getFile()
    });
 async function getFile () {
 // 打开文件选择器   记住FileSystemFileHandle 
        [fileHandle] = await window.showDirectoryPicker()

 if (fileHandle.kind === "file") {
 verifyPermission(fileHandle)
 // 运行针对文件的代码
        } else if (fileHandle.kind === "directory") {
 // 运行针对目录的代码
 verifyPermission(fileHandle)
        }
      }
 async function verifyPermission (fileHandle, withWrite) {
 const opts = {}
 if (withWrite) {
 opts.mode = "readwrite"
        }

 // 检查是否已经拥有相应权限,如果是,返回 true。
 if ((await fileHandle.queryPermission(opts)) === "granted") {
 return true
        }

 // 为文件请求权限,如果用户授予了权限,返回 true。
 if ((await fileHandle.requestPermission(opts)) === "granted") {
 return true
        }

 // 用户没有授权,返回 false。
 return false
      }

2.授权访问权限

3.得到FileSystemFileHandle

4.进行读写文件

FileSystemHandle - Web API 接口参考 | MDN

FileSystemFileHandle:createWritable() 方法 - Web API 接口参考 | MDN

Window:showDirectoryPicker() 方法 - Web API 接口参考 | MDN

相关推荐
Nan_Shu_61413 小时前
学习: Threejs (1)
javascript·学习
颜酱13 小时前
前端必备动态规划的10道经典题目
前端·后端·算法
wen__xvn13 小时前
代码随想录算法训练营DAY10第五章 栈与队列part01
java·前端·算法
Van_Moonlight13 小时前
RN for OpenHarmony 实战 TodoList 项目:加载状态 Loading
javascript·开源·harmonyos
大怪v14 小时前
前端佬们!!AI大势已来,未来的上限取决你的独特气质!恭请批阅!!
前端·程序员·ai编程
Mr -老鬼14 小时前
功能需求对前后端技术选型的横向建议
开发语言·前端·后端·前端框架
qq_4061761414 小时前
关于JavaScript中的filter方法
开发语言·前端·javascript·ajax·原型模式
@@小旭15 小时前
实现头部Sticky 粘性布局,并且点击菜单滑动到相应位置
前端·javascript·css
Eric_见嘉15 小时前
NestJS 🧑‍🍳 厨子必修课(九):API 文档 Swagger
前端·后端·nestjs
Van_captain15 小时前
rn_for_openharmony常用组件_Divider分割线
javascript·开源·harmonyos