TinyShip 1.3.0 正式发布
本版本完成了存储服务的核心集成,采用 Unified 云存储接口设计,支持多平台无缝切换,为项目提供灵活可靠的文件存储能力。
✨ 核心新增
统一存储接口:采用 Unified 设计模式,一套 API 适配多个云存储服务商
多平台支持:开箱即用支持三大主流云存储平台
- 阿里云 OSS(国内首选)
- AWS S3(全球标准)
- Cloudflare R2(零出口费用)
灵活切换:通过配置即可轻松切换不同服务商,无需修改业务代码
🔧 功能特性
文件上传/下载:支持大文件分片上传、断点续传
签名 URL 生成:安全的临时访问链接,支持自定义过期时间
元数据管理:完整的文件元数据读写能力
目录列表:支持目录结构浏览和文件列表查询
📦 使用示例
import { createStorageProvider } from '@libs/storage';
// 创建存储实例(根据配置自动选择服务商)
const storage = createStorageProvider();
// 上传文件
await storage.upload('path/to/file.jpg', fileBuffer);
// 生成签名 URL
const signedUrl = await storage.getSignedUrl('path/to/file.jpg', {
expiresIn: 3600 // 1小时有效期
});
// 列出目录
const files = await storage.list('uploads/');🌐 服务商对比
| 服务商 | 特点 | 推荐场景 |
|---|---|---|
| 阿里云 OSS | 国内访问快、稳定 | 面向中国用户 |
| AWS S3 | 全球标准、生态丰富 | 国际业务 |
| Cloudflare R2 | 零出口费用、CDN 集成 | 成本敏感型 |