首次发布

This commit is contained in:
peterjia
2025-05-27 13:18:59 +08:00
commit 47a49f9b7a
1349 changed files with 440192 additions and 0 deletions

120
readme.md Normal file
View File

@@ -0,0 +1,120 @@
# 文件存储与分享系统
## 系统概述
这是一个基于Cloudflare Workers的文件存储与分享系统支持文件上传、下载和密码保护等功能。系统采用前后端分离架构前端使用Cloudflare Pages部署后端使用Cloudflare Workers提供API服务。
### 技术架构
- 前端纯静态HTML/CSS/JavaScript
- 后端Cloudflare Workers
- 存储Cloudflare R2
- 数据库Cloudflare D1
## 部署步骤
### 1. 环境准备
1. 安装Wrangler CLI
```bash
npm install -g wrangler
```
2. 登录Cloudflare账号
```bash
wrangler login
```
### 2. 后端部署
1. 创建R2存储桶
```bash
wrangler r2 bucket create file-share-bucket
```
2. 创建D1数据库
```bash
wrangler d1 create file-share-db
```
3. 初始化数据库表:
```bash
wrangler d1 execute file-share-db --file=schema.sql --remote
```
4. 修改`wrangler.toml`配置:
```toml
name = "file-share"
main = "main.js"
[[r2_buckets]]
binding = "file_share_bucket"
bucket_name = "file-share-bucket"
[[d1_databases]]
binding = "DB"
database_name = "file-share-db"
database_id = "your-database-id"
```
5. 部署Worker
```bash
wrangler deploy
```
### 3. 前端部署
1. 修改`script.js`中的API地址
```javascript
const API_BASE_URL = 'https://file.ssplus.cn';
// 将所有API调用改为完整URL
fetch(`${API_BASE_URL}/upload`, ...)
```
2. 在Cloudflare Pages中创建新项目
- 连接GitHub仓库
- 设置构建命令:不需要(静态网站)
- 设置构建输出目录:`/`(根目录)
- 设置自定义域名:`fileshare.ssplus.cn`
## 使用方法
### 文件上传
1. 访问前端网站例如https://fileshare.ssplus.cn
2. 点击"选择文件"按钮选择要上传的文件
3. 可选:设置文件访问密码
4. 点击"上传"按钮
5. 上传成功后获取文件分享链接
### 文件下载
1. 访问文件分享链接
2. 如果文件设置了密码,输入密码
3. 点击"下载"按钮开始下载
## API文档
### 上传文件
- 端点:`POST /upload`
- 请求体FormData格式
- `file`:文件数据
- `password`:(可选)文件密码
- 响应JSON格式
- `success`:布尔值,表示上传是否成功
- `fileId`:字符串,文件唯一标识符
### 下载文件
- 端点:`GET /file/:fileId`
- URL参数
- `fileId`:文件唯一标识符
- 查询参数:
- `password`:(可选)文件密码
## 注意事项
1. 确保Cloudflare账号已启用Workers和Pages服务
2. 配置正确的CORS设置允许前端域名访问API
3. 定期检查R2存储使用量和D1数据库容量
4. 建议设置文件大小限制和存储时间限制
5. 保持`wrangler.toml`中的配置与实际创建的资源名称一致
当前模型请求量过大,请求排队约 1 位,请稍候或切换至其他模型问答体验更流畅。