首页 > 其他分享 >纯前端操作文件?

纯前端操作文件?

时间:2023-11-10 17:04:55浏览次数:48  
标签:文件 const 前端 API file 操作 btn dir

事情是这样的我发现vscode在线版居然可以打开文件目录和文件,还能保存文件。

兼容性一般 目前 谷歌 edge Opera 支持 其他均不支持

纯前端操作文件?_选择器

vscode.dev/

查了一下MDN 发现增加新的API 了

developer.mozilla.org/zh-CN/docs/…

纯前端操作文件?_前端_02

showDirectoryPicker

这是一项实验性技术 未来版本可能会发生变化 作用就是显示一个目录选择器 返回Promise

const btn = document.getElementById("btn");
btn.addEventListener("click", () => {
showDirectoryPicker().then(async (dir) => {
  const recursion = async (dir) => {
    if (dir.entries) {
      const dirs = dir.entries();
      for await (let item of dirs) {
        item.forEach((file) => {
          if (typeof file === "string") {
            const p = document.createElement("p");
            p.innerText = file;
            p.style.marginLeft = "10px";
            document.querySelector(".result").appendChild(p);
          } else {
            recursion(file);
          }
        });
      }
    }
  };
  recursion(dir);
 });
});

获取选中目录下所有的文件平铺展开

纯前端操作文件?_API_03

纯前端操作文件?_API_04

showOpenFilePicker

showOpenFilePicker这个API 返回用户所选的文件 不是目录默认单选 可设置 multiple 多选

btn.addEventListener("click", () => {
        showOpenFilePicker().then(async (file) => {
          console.log(await file[0].getFile());
        });
      });

可以调用getFile 返回 File对象 就跟 input file 返回的对象一样了可以操作了。

showSaveFilePicker

showSaveFilePicker 这个API可以写入一个文件 返回promise

showSaveFilePicker().then(file=>{
  console.log(file);
})

纯前端操作文件?_选择器_05

纯前端操作文件?_选择器_06

标签:文件,const,前端,API,file,操作,btn,dir
From: https://blog.51cto.com/u_13463935/8304696

相关文章

  • 我心中的分布式操作系统
    这是一位网友发给我的文字,我原样复制粘贴发出来给大家,他的观点我不过多评论,也不代表公司和研发团队的立场,但是最后一段本人不同意,因为Laxcus分布式操作系统已经发布了六个版本,在很多领域广泛部署使用。目前Laxcus分布式操作系统正经历类似微软的Windows3.x到Windows95的过渡,即摆......
  • 文件上传-code
       1.导入上传文件gav坐标     <!--https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload-->  <dependency>  <groupId>commons-fileupload</groupId>  <artifactId>commons-fileupload</artifactId>  <v......
  • rpm包制作脚本spec文件编写详细指南
    概述spec文件是制作rpm包的脚本文件,详细定义rpm包的信息、包含内容和安装位置,如软件包的名字、版本、类别、说明摘要、创建时要执行什么指令、安装时要执行什么操作、以及软件包所要包含的文件列表等等。spec文件有多个段组成,分别定义rpm编译、打包、安装等阶段的工作内容。示例如......
  • 北京前端五年经验问些什么?
    这一天,我瘫坐在办公室的椅子上,回想这五年的一事无成,钱也没赚到,技术也没学到,最近投了简历去面试,我一定要把握住,这是我此生仅有的机会了。穿好格子衫,带上假发,出发了。路上的植发广告格外亮眼,玩了会儿手机终于到了。某大型互联网公司,跟前台说了一下是面试的,然后让我填个表,填完去一个小......
  • linux diff求两个文件的差集
    awk从文本中过滤出需要的ipqueryId_20231109214653_ipBatchQueryResult.json{"id":0,"ip":"121.204.216.130","type":1,"domain":"","agreement":"","mode":"","postalCo......
  • php批量上传大文件,php实现批量上传图片的技巧
    我们在很多时候并不是上传一张图片就可以了需要同时上传N张图片,这个时候该怎么办了?我这里以前写了个例程大家看看,或许可以启发思路!php提交图片页面程序部分,可以实现动态显示图片的数量:enctype=”multipart/form-data”method=”post”name=”Form1″id=”Form1″>functiont......
  • 前端存储:localStorage、sessionStorage
    IDE:HBuilderX3.8.12-- 序章前端存储数据的方式有以下几种:JavaScriptCookieWeb存储localStoragesessionStorageHTML5WebSQL数据库IndexedDB 本文测试其中的Web存储:localStorage、sessionStorage。添加数据查看数据普通数据JSON数据删除数据清......
  • 新建项目相关的css文件及设置
     global.css/*全局样式表*/html,body,#app{ height:100%; margin:0; padding:0;} 2.reset.css/***EricMeyer'sResetCSSv2.0(http://meyerweb.com/eric/tools/css/reset/)*http://cssreset.com*/html,body,div,span,applet,object,iframe,......
  • 前端开发进阶:前端开发中如何高效渲染大数据量?
    在日常工作中,有时会遇到一次性往页面中插入大量数据的场景,在数栈的离线开发(以下简称离线)产品中,就有类似的场景。本文将通过分享一个实际场景中的前端开发思路,介绍当遇到大量数据时,如何实现高效的数据渲染,以达到提升页面性能和用户体验的目的。渲染大数据量时遇到的问题在离线的数据......
  • windows注册dll文件
    帮忙装了一个C端的程序,碰到了之前没有接触过的功能———注册dll文件。注册dll文件还是挺简单的。首先按住win+r大开运行窗口,然后输入regsvr32,把需要注册的dll文件拖到运行窗口中,此时就会把dll文件的路径填充到文本框中,格式类似下面这样:regsvr32D:\xxxx.dll点击确定即可......