基于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

成品展示

相关推荐
梦65011 分钟前
前端路由守卫:掌控页面跳转的 “守门人”
前端
jiayong2314 分钟前
前端性能优化系列(二):请求优化策略
前端·性能优化
H_ZMY17 分钟前
前端实现 HTTPS 强制跳转与移动端域名自动适配
前端·网络协议·https
We་ct31 分钟前
LeetCode 42. 接雨水:双指针解法深度剖析与全方法汇总
前端·算法·leetcode·typescript
灰海38 分钟前
vue实现即开即用的AI对话打字机效果
前端·javascript·vue.js·打字机
智绘前端1 小时前
React 组件开发速查卡
前端·react.js·前端框架
箫笙默1 小时前
前端相关技术简介
前端
Ulyanov1 小时前
Impress.js深度技术解析:架构基础与结构化设计
开发语言·前端·javascript
小宇的天下1 小时前
Calibre :Standard Verification Rule Format(SVRF) Manual (1-1)
大数据·前端·网络
充气大锤1 小时前
前端实现流式输出配合katex.js
开发语言·前端·javascript·ai·vue