首页 > 其他分享 >浏览器读取计算机文件信息 showDirectoryPicker

浏览器读取计算机文件信息 showDirectoryPicker

时间:2024-01-10 15:55:39浏览次数:30  
标签:handle 读取 showDirectoryPicker await let entry 浏览器 children

效果图

代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>选择电脑文件夹</title>
  <link href="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.14/theme-chalk/index.min.css" rel="stylesheet" />
</head>

<body>
  <div id="app">
    <button @click="openFolder">打开文件夹</button>
    <el-tree v-if="list.length" :data="list" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
  </div>

  <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.min.js"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.14/index.min.js"></script>

  <script>
    window.vm = new Vue({
      el: "#app",
      data() {
        return {
          list: [],
          defaultProps: {
            children: "children",
            label: "name",
          },
        };
      },
      methods: {
        async openFolder() {
          let handle = await showDirectoryPicker( /* {multiple: true} */ );
          await this.handleHandler(handle);
          this.list = [handle];
          this.$forceUpdate();
          console.log(handle);
        },
        async handleHandler(handle) {
          await processHandler(handle);
          async function processHandler(handle) {
            if (handle.kind === "file") {
              return;
            }
            handle.children = [];
            let iter = await handle.entries();
            for await (let entry of iter) {
              await processHandler(entry[1]);
              handle.children.push(entry[1]);
            }
          }
        },
        handleNodeClick() {},
      },
    });
  </script>
</body>

</html>

标签:handle,读取,showDirectoryPicker,await,let,entry,浏览器,children
From: https://www.cnblogs.com/dxy9527/p/17956659

相关文章

  • 读取excel表格的内容并输出打印
    1、这里用到的是xxx.xlsx的excel表,如果用.xls的旧版excel表可能会报错,需要自己调整代码(简单的测试,取出内容根据业务自行处理)publicstaticvoidmain(String[]args)throwsException{Filefile=newFile("D:\\test001\\qhData.xlsx");FileInputSt......
  • openpyxl模块---读取数据
    测试数据: 读取该表格内容:代码如下:defopen():fromopenpyxlimportload_workbookwb=load_workbook('C:/Users/admin/Desktop/baihuo.xlsx')###获取工作簿sh1=wb.activesh2=wb['Sheet1']sh3=wb.get_sheet_by_name('Sheet1')print(sh1......
  • Qt 快速读取大文件最后一行内容
    0.前言有时候根据需求,需要读取文本的最后一行内容。如果是小文本,按照顺序读,然后取最后一行就Ok;但如果是大文本,即使是放到线程里跑,读取到最后一行也会有延迟,比较耗时。1.解决方案查看QFile帮助手册,其有boolseek(qint64pos);意思就是查找设备中的位置。成功时返回true;否......
  • python通过RS485、Modbus协议读取/修改仪表数据
    目标python通过RS485的Modbus协议读取仪表相应的寄存器数据。准备工作软件安装第三方库:serial、pyserial、modbus_tkpipinstallserialpipinstallpyserialpipinstallmodbus_tk硬件一根USB转RS485的转接线(电脑本身不带RS485接口时需要)一个带Modbus通讯的仪表(例子中使用的时一......
  • Qt读取文件对比:每次获取自定义的长度和使用系统的API,耗时对比
    0.前言在编程过程中,经常遇到文件读写操作,太频繁了。每次也都写的不一样。突发奇想,想测试下几种不同的读取文件的效率。测试以下三种方式读取文件效率:自定义读取文件耗时使用QFile类API读取文件耗时使用QTextStream类API读取文件耗时在测试前,说一下使用到的知识点。1.Qt......
  • stm32学习总结:6、Proteus8+STM32CubeMX+MDK仿真蜂鸣器及ADC读取电压(Proteus标签整理原
    stm32学习总结:6、Proteus8+STM32CubeMX+MDK仿真蜂鸣器及ADC读取电压(Proteus标签整理原理图)文章目录stm32学习总结:6、Proteus8+STM32CubeMX+MDK仿真蜂鸣器及ADC读取电压(Proteus标签整理原理图)一、前言二、资料收集三、STM32CubeMX配置按键及蜂鸣器连接口1、按键及LED的IO口配置2、......
  • java: 从HBase中读取数据
    一、添加依赖:<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.6.0</version></dependency><dependency>......
  • 如何写一个python脚本读取控制台类型的程序上面的文本
     在Python中,你可以使用`input()`函数来读取控制台输入的文本。这个函数会等待用户在控制台输入文本,并将其作为字符串返回给你的程序。下面是一个示例,演示了如何编写一个Python脚本来读取控制台输入的文本:```python#读取控制台输入的文本text=input("请输入文本:")print("你......
  • Node 和浏览器里实现 Excel 的解析和生成
    Excel是常用的办公软件,我们会用它来做数据的整理。后台管理系统一般都会支持从Excel导入数据,或者导出数据到Excel文件:那这种功能是如何实现的呢?在Node和浏览器里,如何解析、生成Excel文件呢?一般我们会用exceljs这个包来做。在npm官网可以看到,这个包每周有30w+的下载......
  • 浏览器底层原理-工作机制
    浏览器工作机制浏览器是多进程多线程的应用,启动浏览器后,会自动启动多个进程(渲染进程、网络进程,存储服务等),每个进程中又包含多个线程协同工作。渲染主线程工作方式在浏览器的诸多进程中,渲染进程承担着最重要的工作。渲染进程中有一个渲染主线程,负责解析HTML、解析CSS、计算样式......