使用 Cloudflare Worker 部署 ExportX 上传服务是最简单、最经济的方式。本指南将帮助您快速完成部署。
前置条件
在开始之前,请确保您拥有:
- Cloudflare 账户
- 已安装并配置 Wrangler CLI (
wrangler login
) - 已创建 R2 存储桶
一键部署
点击上方按钮即可开始一键部署流程。
手动部署步骤
1. 克隆仓库
git clone https://github.com/Edward00Funny/exportx-upload.git
cd exportx-upload
2. 安装依赖
pnpm install
3. 配置 wrangler.jsonc
编辑 wrangler.jsonc
文件,配置您的 Worker 信息:
{
"name": "exportx-uploader",
"main": "src/index.ts",
"compatibility_date": "2023-12-01",
"account_id": "your-account-id",
"r2_buckets": [
{
"binding": "R2_BUCKET",
"bucket_name": "your-r2-bucket-name"
}
],
"vars": {
"AUTH_SECRET_KEY": "your-secret-token-for-figma",
"STORAGE_PROVIDER": "R2"
}
}
4. 绑定 R2 存储桶
在 Cloudflare 控制台中:
- 进入 R2 Object Storage
- 创建新存储桶或选择现有存储桶
- 记录存储桶名称,用于配置
5. 设置环境变量
在 wrangler.jsonc
的 vars
部分设置以下环境变量:
变量名 | 示例值 | 必需 | 说明 |
---|---|---|---|
AUTH_SECRET_KEY |
your-secret-token,another-token |
是 | 认证密钥,支持多个(逗号分隔) |
STORAGE_PROVIDER |
R2 |
是 | 存储提供商,使用 R2 |
6. 配置存储桶规则
设置存储桶的访问规则:
{
"vars": {
"BUCKET_main_r2_PROVIDER": "R2",
"BUCKET_main_r2_ALLOWED_PATHS": "images,assets,*",
"BUCKET_main_r2_EMAIL_WHITELIST": "user@example.com,team@example.com"
}
}
7. 部署
pnpm run deploy
部署完成后,Wrangler 会显示您的 Worker URL。
验证部署
部署完成后,您可以通过以下方式验证:
健康检查
curl https://your-worker-url.workers.dev/
预期响应:
{
"status": "ok",
"message": "ExportX Upload Service"
}
获取存储桶信息
curl -H "Authorization: Bearer your-secret-token" \
https://your-worker-url.workers.dev/buckets
配置自定义域名
- 在 Cloudflare 控制台中,进入 Workers & Pages
- 选择您的 Worker
- 点击 Custom Domains
- 添加您的自定义域名
使用说明
上传文件
curl -X POST \
-H "Authorization: Bearer your-secret-token" \
-H "X-User-Email: user@example.com" \
-F "file=@/path/to/your/file.png" \
-F "path=images" \
-F "fileName=custom-name.png" \
"https://your-worker-url.workers.dev/upload?bucket=main_r2"
响应格式
成功响应:
{
"url": "https://your-custom-domain.com/images/custom-name.png",
"fileName": "custom-name.png"
}
故障排除
常见错误
-
401 Unauthorized
- 检查
Authorization
头是否正确 - 确认
AUTH_SECRET_KEY
配置正确
- 检查
-
403 Forbidden
- 检查
X-User-Email
头 - 确认邮箱在白名单中
- 检查
-
R2 绑定错误
- 确认存储桶名称正确
- 检查 R2 绑定配置
调试技巧
使用 Wrangler 查看实时日志:
wrangler tail
成本估算
Cloudflare Worker 提供非常经济的定价:
- 免费额度: 100,000 次请求/天
- 付费计划: $5/月 + $0.50/百万次请求
- R2 存储: $0.015/GB/月
对于大多数团队来说,免费额度已经足够使用。
下一步
部署完成后,您可以:
- 在 Figma 插件中配置您的上传服务 URL
- 设置团队成员的邮箱白名单
- 配置多个存储桶用于不同项目
- 设置 CDN 加速访问
需要帮助?请查看我们的 完整文档 或联系技术支持。