基于web端的ftp程序

搭建一个web页面访问的FTP服务器

github官网地址

vsftpd 程序搭建跳转地址

vsftpd 搭建完成之后,开始搭建 ftp-web

复制代码
下载运行

该项目需要 Node.js v4+ 才能运行。

# node 版本为 v16.20.2
node -v
v16.20.2

git clone https://github.com/liuqi6908/ftp-web-client.git
cd ftp-web-client
npm install
npm start 或 node index.js

注意事项
上传文件

上传文件时使用 $.ajax() 携带 formData 参数发送 post 请求,但在新版本的 Node.js 中可能会出现报错:

TypeError: os.tmpDir is not a function

这是因为在新版本的 Node.js 中 os.tmpDir() 已被弃用,要找到指定位置将其修改为 os.tmpdir()

没改文件之前报错

修改文件

复制代码
vim node_modules/multiparty/index.js
// 注销
//  self.uploadDir = options.uploadDir || os.tmpDir();
// 修改为如下
  self.uploadDir = options.uploadDir || os.tmpdir();

# 启动程序
npm start 

访问

复制代码
http://192.168.244.129:3000

添加 nginx 转发

复制代码
upstream ftpd-backend {
        server 192.168.244.129:3000;
}

server {
   listen       80;
   server_name  ftpd.com;
#   keepalive_timeout   70;
   access_log   /var/log/nginx/ftpd-access.log main;
   error_log    /var/log/nginx/ftpd-error.log;
						            
      location / {
        client_max_body_size 1024M;
        proxy_pass http://ftpd-backend;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_http_version 1.1; 
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
   }
}

重启 nginx

复制代码
访问 nginx 
http://ftpd.com

成品展示

相关推荐
福兮说1 小时前
用 IndexedDB 存用户的文件,我踩过的五个坑
前端·javascript
闪耀之光M781 小时前
前端依赖自动导入:unplugin-auto-import
前端
Ricon组态薄荷糖2 小时前
Ricon组态系统:工业组件开发指南与实践
前端·后端·物联网
flash俊杰2 小时前
Electron 桌面应用的进程模型:为什么 fork Next.js standalone
前端
沙蒿同学2 小时前
我把架构约定编译成了会变红的测试:Wails v2 + Go + Vue3 桌面脚手架实战
前端·后端·github
cpolar技术支持2 小时前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright
wordbaby2 小时前
企业级后台管理系统路由设计与最佳实践指南
前端
胡志辉的博客2 小时前
【完全开源】IP 纯净度检测 可一键部署到自己的CF
前端·javascript·chrome·ip·chromium
Hilaku2 小时前
作为面试官,我最怕遇到什么样的候选人?
前端·javascript·程序员
TiDi3 小时前
Pinia优化重复请求
前端