无需任何云端服务,直接监控本地文件夹变化,自动触发工作流处理文件。适用于文件自动转换、数据监控、文件备份等场景。
Local File Trigger 是 n8n 中最实用的本地触发器之一。它像一个"文件卫士",24小时守护您指定的文件夹,一旦检测到文件被添加、修改或删除,立即触发工作流自动处理。
特别提示:⚠️ 此节点仅支持自建 n8n(Self-hosted),不支持 n8n Cloud。如果您还没部署自建 n8n,可参考使用 Docker 快速启动。
| 参数名 | 作用 | 示例 |
|---|---|---|
| Trigger On | 选择监听事件类型 | 文件变化、文件夹变化 |
| File/Folder to Watch | 指定监听的目录路径 | /data/uploads/ 或 C:\Documents\incoming\ |
| Watch for | 选择触发的具体事件 | 新增、修改、删除 |

在节点配置面板中进行以下设置:
配置 1 - 选择监听类型
在 Trigger On 下拉框中,选择:
配置 2 - 指定文件夹路径
/home/user/downloads/C:\Users\user\Downloads\/data/uploads/配置 3 - 选择事件类型
在 Watch for 中选择要监听的事件(可多选):
☑ File Added // 新文件到达时触发
☑ File Changed // 文件被修改时触发
☑ File Deleted // 文件被删除时触发点击节点右侧 Options 展开高级设置:
忽略特定文件(Ignore)
排除不需要监听的文件或文件夹,支持通配符语法:
# 忽略单个文件
.DS_Store
*.tmp
# 忽略特定文件夹
node_modules/
.git/
**/temp/**最大文件夹深度(Max Folder Depth)
限制监听的文件夹层级深度,默认值为 2 层:
Max Folder Depth: 2
效果:只监听 /folder/ 和 /folder/subfolder/
不会监听 /folder/subfolder/subsubfolder/包含链接文件(Include Linked Files/Folders)
勾选则同时监听符号链接文件的变化。

监听 /uploads/csv/ 文件夹,当新的 CSV 文件上传时,自动提取数据并转换为 JSON 格式,保存处理结果。
以下是一个开箱即用的完整工作流 JSON 代码,复制到 n8n 导入即可使用:
{
"name": "CSV 文件自动提取与转换",
"nodes": [
{
"parameters": {
"triggerOn": "folderChanged",
"folderToWatch": "/data/uploads/csv",
"watchFor": ["fileAdded"],
"maxFolderDepth": 1
},
"id": "1",
"name": "Local File Trigger",
"type": "n8n-nodes-base.localFileTrigger",
"typeVersion": 1,
"position": [250, 300]
},
{
"parameters": {
"operation": "extractFromCsv"
},
"id": "2",
"name": "Extract from CSV",
"type": "n8n-nodes-base.extractFromFile",
"typeVersion": 1,
"position": [450, 300],
"credentials": {}
},
{
"parameters": {
"mode": "runOnceForAllItems",
"jsCode": "return items.map(item => ({\n ...item.json,\n processedAt: new Date().toISOString(),\n fileName: $('Local File Trigger').first().json.name\n}));"
},
"id": "3",
"name": "添加处理时间戳",
"type": "n8n-nodes-base.functionItem",
"typeVersion": 1,
"position": [650, 300]
},
{
"parameters": {
"filePath": "/data/processed/{{ $node['Local File Trigger'].json.name }}.json",
"mode": "overwrite",
"dataPropertyName": "data"
},
"id": "4",
"name": "保存为 JSON 文件",
"type": "n8n-nodes-base.writeBinaryFile",
"typeVersion": 1,
"position": [850, 300]
}
],
"connections": {
"Local File Trigger": {
"main": [
[
{
"node": "Extract from CSV",
"type": "main",
"index": 0
}
]
]
},
"Extract from CSV": {
"main": [
[
{
"node": "添加处理时间戳",
"type": "main",
"index": 0
}
]
]
},
"添加处理时间戳": {
"main": [
[
{
"node": "保存为 JSON 文件",
"type": "main",
"index": 0
}
]
]
}
}
}1️⃣ Local File Trigger
↓ 检测到 /data/uploads/csv/ 有新文件
2️⃣ Extract from CSV
↓ 自动解析 CSV 行数据为 JSON 对象数组
3️⃣ 添加处理时间戳
↓ 为每条记录添加处理时间和原始文件名
4️⃣ 保存为 JSON 文件
↓ 输出到 /data/processed/ 文件夹/data/processed/ 文件夹是否生成了转换后的 JSON 文件当文件夹内有大量临时文件时,通过 Ignore 规则优化性能:
# Options 面板中的 Ignore 字段输入:
*.tmp
*.temp
.~*
Thumbs.db
.DS_Store
~$*需要同时处理文件添加和修改?在 Watch for 中勾选多个选项:
☑ File Added
☑ File Changed
☑ File Deleted然后在后续节点用 IF 条件判断事件类型:
// 在 IF 节点中输入表达式:
{{ $node['Local File Trigger'].json.eventType === 'add' }}如果目录结构很深(多层子文件夹),设置 Max Folder Depth 限制扫描深度:
Max Folder Depth: 1 // 仅监听一层
Max Folder Depth: 3 // 监听三层Local File Trigger 通常与以下节点组合使用:
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 工作流未触发 | 路径配置错误或权限不足 | 确认路径存在且 n8n 进程有读写权限 |
| 同时触发多次 | 文件被多次修改或临时文件干扰 | 在 Ignore 中排除临时文件类型 |
| 大文件处理缓慢 | 内存不足或文件过大 | 增加 Max Folder Depth 限制或分批处理 |
| 仅在 Cloud 版本不可用 | 此功能仅自建支持 | 需要部署自建 n8n 实例 |
✅ 文件自动转换:监听上传文件夹,自动转换格式(PDF→图片、Excel→CSV)
✅ 实时数据同步:监听本地数据文件,自动上传到云端或数据库
✅ 文件夹整理:定期扫描文件夹,按类型或日期自动分类整理
✅ 数据处理流水线:监听原始数据文件,触发数据清洗、验证、入库工作流
✅ 备份与归档:监听重要文件变化,自动备份到网络存储
✅ 日志监控与告警:监听日志文件更新,提取错误信息发送警报
| 要点 | 内容 |
|---|---|
| 何时用 | 需要监听本地文件夹变化时 |
| 优势 | 无需云端,隐私安全,响应快速 |
| 限制 | 仅支持自建 n8n,不支持 Cloud |
| 核心参数 | Trigger On、Folder to Watch、Watch for |
| 最佳实践 | 配合 Extract/Read 节点提取数据,用 Ignore 排除干扰文件 |
[1] 官方文档: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.localfiletrigger/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B#