配置图片云端存储,支持 Cloudflare R2 和阿里云 OSS。不配置也可正常使用(图片保存在本地浏览器)。
下面两份教程帮助你从 0 开始配置自己的云端存储。推荐国内用户用阿里云 OSS,海外用户用 Cloudflare R2。
⚠️ 不要用主账号 AccessKey——主账号密钥泄露代价过大,务必创建只有 OSS 权限的 RAM 子账号。
AliyunOSSFullAccess(或更精细的自定义策略,只允许访问这一个 Bucket)apiyi 改成你的 Bucket 名,粘贴到 RAM 自定义策略即可。
{
"Version": "1",
"Statement": [{
"Effect": "Allow",
"Action": ["oss:PutObject", "oss:GetObject", "oss:DeleteObject"],
"Resource": ["acs:oss:*:*:apiyi/*"]
}]
}
浏览器直接请求 OSS 需要 CORS 放行,否则请求会被浏览器拦截。
*(或填你的域名,如 https://yourdomain.com)GET、PUT、DELETE、POST、HEAD*ETag| 字段 | 说明 | 示例 |
|---|---|---|
| Endpoint | Bucket 所在区域的外网域名 | oss-cn-hangzhou.aliyuncs.com |
| Bucket 名称 | 刚创建的 Bucket 名 | apiyi |
| AccessKey ID | 子账号的 AccessKey ID | LTAI5t... |
| AccessKey Secret | 子账号的 Secret(复制时注意别漏字符) | — |
| 路径前缀 | 图片存放的"子目录",方便和其他文件隔离 | ai-images/ |
💡 常见 Endpoint:杭州 oss-cn-hangzhou、北京 oss-cn-beijing、上海 oss-cn-shanghai、深圳 oss-cn-shenzhen、香港 oss-cn-hongkong。后面加 .aliyuncs.com。
点击本页上方 测试连接,成功会提示 "OSS 连接成功"。失败时页面会显示错误码和 StringToSign 对比,按建议排查即可。
阿里云 OSS 有免费额度(每月 5GB 存储 + 10GB 下载流量),个人用足够。超量后按量计费,具体见 定价页。建议开启 消费预警 防止意外扣费。
workers/ 目录下准备好。
ai-images-cache;区域选 Automaticwrangler 是 Cloudflare 官方命令行工具,用来部署 Worker。
# 需要 Node.js 16+ npm install -g wrangler # 浏览器会打开授权页面,点确认 wrangler login
本项目仓库下已有现成 Worker 代码:
# 进入项目的 workers 目录 cd workers # 编辑 wrangler.toml,把 bucket_name 改成你刚创建的 R2 Bucket 名 # [[r2_buckets]] # binding = "IMAGE_BUCKET" # bucket_name = "ai-images-cache" ← 改成你的 Bucket 名 # 部署 wrangler deploy
部署成功会输出一条 URL,形如:
https://ai-image-proxy.你的子域名.workers.dev
📌 复制这个 URL,下一步要用。
图片已成功上传到 R2 即成功wrangler.toml 里 bucket_name 和你实际创建的 R2 Bucket 名不一致。https://)。R2 免费额度很慷慨:每月 10GB 存储 + 100 万次 Class A 操作(写)+ 1000 万次 Class B 操作(读)+ 零出站流量费。个人项目基本完全免费,是 S3 的高性价比替代。