前端-海鸟 2023-07-21 11:44 采纳率: 50%
浏览 36
已结题

electron如何选择空文件夹

electron的dialog选择文件夹,如何实现选择的文件夹只能是空文件夹

img


官方文档能选择文件夹,但是并不能判空

  • 写回答

2条回答 默认 最新

  • 开发技术控 2023-07-21 14:36
    关注

    引用gpt回答 有帮助的话 采纳一下
    在 Electron 的 dialog 中选择文件夹时,如果要限制只能选择空文件夹,可以通过结合使用 dialog.showOpenDialog 和 fs.readdir 来实现:

    1. 首先使用 dialog.showOpenDialog 显示文件夹选择弹窗:
      js
    const { dialog } = require('electron') 
    
    const paths = dialog.showOpenDialog({
      properties: ['openDirectory']  
    })
    
    
    1. 得到用户选择的文件夹路径后,使用 fs.readdir 读取文件夹内容:
      js
    const fs = require('fs')
    
    fs.readdir(paths[0], (err, files) => {
      // ...
    })
    
    
    1. 如果读取到的 files 数组长度不为 0,表示文件夹不为空,可以给出提示并让用户重新选择。
    2. 只有当 chosen folder 的 files 长度为 0 时,表示这是一个空文件夹,才继续后续逻辑。
      所以通过监听文件夹内容,可以过滤确保只有空文件夹被选择。
      另外,如果要允许选择含有特定文件类型的非空文件夹,也可以通过检测 files 来判断。
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月27日
  • 创建了问题 7月21日