FTP的一个反常规特性

在写一个自动FTP上传的小工具

在创建多层目录部分总是失败

死撑了一个多小时才发现FTP的目录分隔符号为'/'而不是通常的'/'

常规思想害人不浅,可也不能怪我谁知道见鬼的FTP怎么会搞这东西
要在 Node 中搭建一个 FTP 服务器,你可以使用 `ftp-srv` 模块。下面是一个基本的示例: 首先,安装 `ftp-srv` 模块: ``` npm install ftp-srv ``` 然后,在你的 Node.js 文件中,添加以下代码: ```javascript const FtpSrv = require('ftp-srv'); const ftpServer = new FtpSrv({ url: 'ftp://localhost:21', pasv_url: 'ftp://localhost:3000', greeting: 'Welcome to my FTP server' }); ftpServer.on('login', ({connection, username, password}, resolve, reject) => { // 验证用户名和密码 if (username === 'username' && password === 'password') { resolve({root: './ftp'}); } else { reject(new Error('Invalid username or password')); } }); ftpServer.listen().then(() => { console.log('FTP server listening on port 21'); }); ``` 上述代码创建了一个 `FtpSrv` 实例,并监听了 `login` 事件。当有用户尝试连接 FTP 服务器时,会触发 `login` 事件,并传递一个包含连接信息、用户名和密码的对象。在 `login` 事件处理函数中,你需要验证用户名和密码是否正确,并决定用户可以访问哪些文件夹。如果验证通过,可以使用 `resolve` 函数返回一个包含根目录路径的对象;否则,可以使用 `reject` 函数返回一个错误对象。 最后,调用 `listen()` 方法启动 FTP 服务器并监听指定端口。在上述代码中,FTP 服务器将在本地监听 21 端口,并使用 3000 端口作为被动模式的数据传输端口。FTP 服务器启动后,你可以使用 FTP 客户端连接到它,并上传、下载、删除和重命名文件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值