# node-red-contrib-dffile **Repository Path**: dfskgh/node-red-contrib-dffile ## Basic Information - **Project Name**: node-red-contrib-dffile - **Description**: 东方数科文件处理节点,提供强大的文件操作和格式转换能力。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-12-11 - **Last Updated**: 2025-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # node-red-contrib-dffile > 东方数科文件处理节点,提供强大的文件操作和格式转换能力。 ## 功能特性 DFFile 节点为 Node-RED 提供完整的文件处理解决方案,主要特性包括: - **多存储支持**:本地文件系统、SFTP、云存储(阿里云 OSS、腾讯云 COS) - **格式转换**:JSON、CSV、Excel、XML 等格式相互转换 - **大文件处理**:流式处理,支持 GB 级大文件 - **文件监控**:实时监控文件变化,自动触发处理流程 - **批量操作**:批量文件上传、下载、压缩、加密等操作 ## 安装方法 ### 基础安装 bash npm install node-red-contrib-dffile ### 可选依赖 根据需要安装特定格式支持: bash Excel 处理支持 npm install node-red-contrib-dffile excel 图片处理支持 npm install node-red-contrib-dffile sharp ## 核心功能 ### 文件操作类型 - **读取操作**:读取文件内容,支持多种编码格式 - **写入操作**:写入文件,支持追加和覆盖模式 - **复制移动**:文件复制、移动、重命名操作 - **压缩解压**:ZIP、GZIP 格式压缩和解压 - **格式转换**:字符编码、文件格式转换 ### 存储支持 | 存储类型 | 支持功能 | 适用场景 | |---------|---------|---------| | 本地文件系统 | 完整支持 | 本地开发、小型应用 | | SFTP/SSH | 上传下载 | 远程服务器文件管理 | | 阿里云 OSS | 分片上传 | 大规模文件存储 | | 腾讯云 COS | 版本管理 | 企业级文件存储 | ## 使用示例 ### 基础文件读取 json [ { "id": "file-reader", "type": "dffile-read", "name": "配置文件读取", "path": "/config/app.config", "encoding": "utf8", "wires": [["config-parser"]] } ] ### CSV 文件处理 json [ { "id": "csv-processor", "type": "dffile-csv", "name": "数据导入处理", "inputPath": "/data/input.csv", "outputPath": "/data/processed.json", "mapping": { "id": "用户ID", "name": "姓名", "email": "邮箱" }, "wires": [["db-import"]] } ] ### 文件监控流程 json [ { "id": "file-watcher", "type": "dffile-watch", "name": "日志文件监控", "path": "/logs/app.log", "eventType": "change", "delay": 1000, "wires": [["log-processor"]] } ] ## 配置说明 ### 存储连接配置 配置不同类型存储连接参数: javascript { // 本地文件系统 "local": { "basePath": "/data/files" }, // SFTP 配置 "sftp": { "host": "sftp.server.com", "port": 22, "username": "user", "privateKey": "..." }, // 云存储配置 "cloud": { "provider": "aliyun", "bucket": "my-bucket", "accessKey": "...", "secretKey": "..." } } ### 文件处理器配置 javascript { "csv": { "delimiter": ",", "header": true, "skipEmptyLines": true }, "excel": { "sheetName": "Sheet1", "headerRows": 1 }, "json": { "prettyPrint": true, "space": 2 } } ## 高级功能 ### 流式处理 支持大文件流式处理,内存占用恒定: javascript // 流式文件处理示例 const stream = fs.createReadStream('large-file.csv') .pipe(csvParser()) .pipe(dataTransformer()) .pipe(fs.createWriteStream('output.json')); ### 文件校验 多种文件校验机制保证数据完整性: - MD5、SHA1 哈希校验 - 文件大小验证 - 行数统计验证 - 格式有效性检查 ### 批量处理 高效的批量文件操作: javascript // 批量文件处理 batchProcess: { maxConcurrent: 5, // 最大并发数 batchSize: 100, // 每批处理文件数 timeout: 300000 // 超时时间(5分钟) } ## 性能优化 ### 内存管理 - 流式处理避免大文件内存溢出 - 自动内存监控和垃圾回收 - 处理超时自动终止机制 ### 缓存策略 - 文件元数据缓存 - 连接池复用 - 结果集缓存优化 ## 错误处理 ### 异常分类 节点对常见错误进行分类处理: - **文件错误**:不存在、无权限、损坏 - **格式错误**:编码问题、格式不匹配 - **系统错误**:存储空间不足、网络中断 ### 重试机制 javascript retryPolicy: { maxAttempts: 3, // 最大重试次数 delay: 1000, // 重试延迟(ms) backoff: 2 // 退避系数 } ## 安全考虑 ### 文件安全 - 路径遍历攻击防护 - 文件类型白名单验证 - 大小限制防止拒绝服务攻击 ### 数据传输 - SFTP/HTTPS 加密传输 - 敏感信息脱敏处理 - 临时文件安全清理 ## 相关项目 - [东方数科文件服务](https://github.com/东方数科/file-service) - [格式转换工具库](https://github.com/东方数科/file-converter) ## 许可证 Apache-2.0 License © 2025 东方数科