基于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 分钟前
flutter 中各种日志
前端·flutter·日志·log
Guheyunyi6 分钟前
智能照明系统:照亮智慧生活的多重价值
大数据·前端·人工智能·物联网·信息可视化·生活
徐同保21 分钟前
通过AzureOpenAI请求gpt-4.1-mini
前端
红尘散仙32 分钟前
四、WebGPU 基础入门——Uniform 缓冲区与内存对齐
前端·rust·gpu
进取星辰43 分钟前
13、性能优化:魔法的流畅之道——React 19 memo/lazy
前端·react.js·前端框架
zwjapple1 小时前
React中createPortal 的详细用法
前端·javascript·react.js
小矮马1 小时前
React-组件通信
前端·javascript·react.js
codingandsleeping1 小时前
pnpm + monorepo:高效的项目管理方式
前端
程序员三千_1 小时前
最近爆火的MCP到底是什么?
前端
古时的风筝1 小时前
暴论:2025年,程序员必学技能就是MCP
前端·后端·mcp