实现目录选择 通过设置 webkitdirectory 属性,允许用户选择目录而非单个文件。适用于基于 Chromium 的浏览器(如 Chr…">
当前位置:首页 > JavaScript

js实现选择目录

2026-04-04 00:11:46JavaScript

使用 <input type="file"> 实现目录选择

通过设置 webkitdirectory 属性,允许用户选择目录而非单个文件。适用于基于 Chromium 的浏览器(如 Chrome、Edge)。

js实现选择目录

const input = document.createElement('input');
input.type = 'file';
input.webkitdirectory = true;
input.addEventListener('change', (event) => {
  const files = event.target.files;
  console.log('所选目录中的文件列表:', files);
});
document.body.appendChild(input);

使用 File System Access API

现代浏览器支持的 API,可提供更完整的目录交互权限(需用户主动授权)。

js实现选择目录

async function selectDirectory() {
  try {
    const dirHandle = await window.showDirectoryPicker();
    const files = [];
    for await (const entry of dirHandle.values()) {
      if (entry.kind === 'file') {
        files.push(entry.name);
      }
    }
    console.log('目录内容:', files);
  } catch (err) {
    console.error('用户取消选择或浏览器不支持:', err);
  }
}

Node.js 环境下的目录选择

通过 dialog 模块(Electron 或 Node.js 后端)实现:

const { dialog } = require('electron').remote; // Electron 示例
const selectedPaths = dialog.showOpenDialog({
  properties: ['openDirectory']
});
console.log('选择的目录路径:', selectedPaths);

注意事项

  • 浏览器兼容性webkitdirectory 仅部分浏览器支持,File System Access API 需 HTTPS 环境。
  • 权限限制:浏览器无法直接访问本地文件系统,需用户主动触发选择操作。
  • Electron 扩展:在桌面应用中可通过 ipcRenderer 与主进程通信实现更复杂的文件操作。

标签: 目录js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…