用户指南
存储服务配置
配置文件存储服务
TinyShip 提供了统一的云存储服务,支持多个主流云存储服务商,让您轻松管理文件上传、下载和访问。
🔗 相关页面
| 页面 | 路径 | 说明 |
|---|---|---|
| 上传示例页 | /upload | 文件上传示例页面 |
支持的存储服务商
| 服务商 | 优势 | 推荐场景 |
|---|---|---|
| 阿里云 OSS | 中国区域访问快,与阿里云生态集成 | 面向中国用户的应用 |
| AWS S3 | 全球覆盖,生态成熟,功能丰富 | 面向国际用户的应用 |
| Cloudflare R2 | 无出口流量费用,性价比高,边缘分发 | 注重成本控制的应用 |
| 腾讯云 COS | 国内云存储,生态完善 | 面向中国用户的应用 |
所有服务商都支持以下功能:
- ✅ 文件上传/下载
- ✅ 签名 URL 生成
- ✅ 文件删除
- ✅ 文件存在检查
- ✅ 元数据检索
- ✅ 目录列表
在 config/storage.ts 中配置
// config/storage.ts
export const storageConfig = {
defaultProvider: 'oss' as const,
oss: {
region: 'oss-cn-shanghai',
accessKeyId: '...',
accessKeySecret: '...',
bucket: 'your-bucket',
endpoint: '',
defaultExpiration: 60
},
s3: {
region: 'us-east-1',
accessKeyId: '...',
accessKeySecret: '...',
bucket: 'your-bucket',
endpoint: '',
forcePathStyle: false,
defaultExpiration: 3600
},
r2: {
accountId: '...',
accessKeyId: '...',
accessKeySecret: '...',
bucket: 'your-bucket',
defaultExpiration: 3600
},
cos: {
region: 'ap-guangzhou',
secretId: '...',
secretKey: '...',
bucket: 'your-bucket-appid',
defaultExpiration: 3600
}
}环境变量配置
STORAGE_PROVIDER=oss
OSS_REGION=oss-cn-shanghai
OSS_ACCESS_KEY_ID=your_access_key_id
OSS_ACCESS_KEY_SECRET=your_access_key_secret
OSS_BUCKET=your-bucket-name
S3_REGION=us-east-1
S3_ACCESS_KEY_ID=your_access_key_id
S3_ACCESS_KEY_SECRET=your_secret_access_key
S3_BUCKET=your-bucket-name
CLOUDFLARE_ACCOUNT_ID=your_cloudflare_account_id
R2_ACCESS_KEY_ID=your_r2_access_key_id
R2_ACCESS_KEY_SECRET=your_r2_access_key_secret
R2_BUCKET=your-bucket-name
COS_REGION=ap-guangzhou
COS_SECRET_ID=your_secret_id
COS_SECRET_KEY=your_secret_key
COS_BUCKET=your-bucket-name-appidOSS 的 Access Key 可以复用阿里云通用 ALIYUN_ACCESS_KEY_ID 与 ALIYUN_ACCESS_KEY_SECRET。Cloudflare R2 现在推荐使用 CLOUDFLARE_ACCOUNT_ID,R2_ACCOUNT_ID 仅保留兼容回退。