4.0 KiB
4.0 KiB
📁 项目文件管理器
一个功能强大的Web文件管理器,支持文件上传、下载、批量操作和文件夹压缩下载。
✨ 主要功能
🌐 两种访问方式
-
Web界面 - 图形化文件管理界面(推荐)
- 地址:
https://your-domain.com/public/file-manager.html - 特点:直观易用,支持拖拽上传
- 地址:
-
REST API - 完整的文件管理API
- 基础地址:
https://your-domain.com/api/v1/files - 特点:可集成到任何应用
- 基础地址:
🚀 核心功能
文件操作
- 📤 上传文件 - 支持拖拽上传、多文件上传
- 📥 下载文件 - 单文件直接下载
- 📦 文件夹压缩下载 - 一键下载整个文件夹为ZIP
- 📋 批量下载 - 选择多个文件/文件夹统一打包下载
- 📁 创建文件夹 - 新建目录结构
- ✏️ 重命名 - 文件和文件夹重命名
- 🗑️ 删除 - 安全删除文件和文件夹
- 🔍 搜索 - 快速搜索文件
- 📊 文件信息 - 查看文件详细信息和预览
批量操作
- ☑️ 全选/取消全选 - 快速选择所有文件
- 📦 批量下载 - 多文件打包下载
- 🎯 批量管理 - 支持后续扩展(批量删除、移动等)
🛠️ API 接口
文件列表
GET /api/v1/files/list?path=uploads&recursive=false
文件上传
POST /api/v1/files/upload
Content-Type: multipart/form-data
文件下载
GET /api/v1/files/download/{file_path}
文件夹压缩下载
POST /api/v1/files/download-folder-zip
Content-Type: application/json
{
"path": "uploads"
}
批量压缩下载
POST /api/v1/files/download-multiple-zip
Content-Type: application/json
{
"paths": ["uploads", "data/123"],
"filename": "batch_download.zip"
}
其他接口
POST /api/v1/files/create-folder- 创建文件夹POST /api/v1/files/rename- 重命名POST /api/v1/files/move- 移动文件POST /api/v1/files/copy- 复制文件DELETE /api/v1/files/delete- 删除文件GET /api/v1/files/search- 搜索文件GET /api/v1/files/info/{path}- 获取文件信息
🎨 界面特性
响应式设计
- ✅ 桌面端完整功能
- ✅ 移动端友好界面
- ✅ 自适应布局
用户体验
- 🎨 现代化UI设计
- 📱 直观的图标和颜色
- ⚡ 快速响应的交互
- 💬 友好的提示信息
高级功能
- 📁 面包屑导航
- 🔍 实时搜索过滤
- 📊 文件信息预览
- 🎯 智能文件类型识别
🔧 技术特性
安全性
- 🛡️ 路径验证和限制
- 📏 文件大小限制(500MB)
- 🔢 文件数量限制(10000个)
- 🚫 隐藏文件过滤
性能优化
- ⚡ 异步文件操作
- 📦 内存中ZIP压缩
- 🔄 流式文件下载
- 💾 智能缓存控制
兼容性
- 🌐 标准WebDAV协议
- 📱 所有现代浏览器
- 🔧 可扩展的API设计
- 📊 完整的错误处理
📝 使用方法
快速开始
- 访问文件管理器:
https://your-domain.com/public/file-manager.html - 使用拖拽或点击按钮上传文件
- 点击文件夹旁的"下载ZIP"按钮下载整个文件夹
- 使用"批量操作"模式选择多个文件统一下载
高级用法
- 点击"批量操作"进入批量选择模式
- 使用"全选"快速选择所有文件
- 混合选择文件和文件夹进行批量下载
- 使用搜索功能快速定位文件
🚀 部署说明
环境要求
- Python 3.8+
- FastAPI
- 现代浏览器
部署步骤
- 安装依赖:
pip install fastapi uvicorn - 启动服务:
uvicorn fastapi_app:app --host 0.0.0.0 --port 8001 - 访问:
http://localhost:8001/public/file-manager.html
配置选项
PROJECTS_DIR: 项目根目录(默认:projects)MAX_ZIP_SIZE: 最大ZIP文件大小(默认:500MB)MAX_FILES: 最大文件数量(默认:10000)
📄 许可证
MIT License - 详见 LICENSE 文件
🤝 贡献
欢迎提交 Issue 和 Pull Request!
享受高效的文件管理体验! 🎉