Node.js 实现的轻量级文件管理接口服务,提供完整的文件和目录管理功能,支持 JWT 认证、Swagger API 文档和完善的日志系统。
本项目已纳入根目录的 pnpm workspace,推荐在根目录统一管理:
# 根目录安装所有依赖
pnpm install
# 启动文件服务(在根目录执行)
pnpm --filter admin-file start
cd admin-file
# 安装依赖
pnpm install
# 启动服务
pnpm start
创建 .env 文件:
PORT=4000
JWT_SECRET=your-secret-key
启动服务后,访问 Swagger 文档:
http://localhost:4000/api-docs
POST /upload/avatar - 上传头像(支持 jpg/png/gif/webp/avif/svg,≤5MB)POST /upload - 上传文件(支持所有类型,≤1GB)DELETE /delete - 删除文件或目录GET /files - 获取文件列表GET /file - 获取文件详情POST /directory - 创建命名空间目录GET /{category}/{filename} - 访问文件(如 /images/photo.jpg)GET /{namespace}/{filename} - 访问命名空间文件?download=1 参数强制下载更多接口详情,请查看 Swagger 文档。
admin-file/
├── uploads/ # 上传文件存储目录
│ ├── temp/ # 临时上传目录
│ └── blog/avatars/ # 头像存储目录
├── logs/ # 日志文件目录
├── server.js # 主服务器文件
├── token.js # JWT 认证处理
├── logger.js # 日志系统
├── package.json # 项目配置
└── .env # 环境变量配置