文件存储域把 11 家对象存储/文件系统供应商统一到 IFileStore 胖接口下。与 TeamWork 的细粒度接口相反,这里各家操作集合几乎一致(纵向差异),所以用一个接口塞所有操作。
IFileStore 方法清单
桶操作
| 方法 | 说明 |
|---|---|
GetBucketNamesAsync | 获取存储桶列表 |
BucketExistsAsync | 检查桶是否存在 |
CreateBucketAsync | 创建桶 |
DeleteBucketAsync | 删除桶 |
文件操作
| 方法 | 说明 |
|---|---|
FileExistsAsync | 检查文件是否存在 |
GetFileStreamAsync | 获取文件流 |
SaveFileAsync | 上传文件(Stream) |
SaveFileByUrlAsync | 从 URL 下载并保存文件 |
CopyFileAsync | 复制文件 |
MoveFileAsync | 移动文件 |
DeleteFileAsync | 删除文件 |
预签名 URL
| 方法 | 说明 |
|---|---|
GenerateDownloadUrlAsync | 生成下载预签名 URL |
GenerateUploadUrlAsync | 生成上传预签名 URL(返回 DirectUploadParam) |
清理
| 方法 | 说明 |
|---|---|
ClearAsync | 清空桶内所有文件 |
供应商对比
| 厂商 | Provider ID | SDK | 包 |
|---|---|---|---|
| 阿里云 OSS | aliyun | Aliyun OSS SDK | Bitzsoft.Integrations.FileStorage.Aliyun |
| 腾讯云 COS | tencent | Tencent COS SDK | Bitzsoft.Integrations.FileStorage.Tencent |
| 华为云 OBS | huawei | Huawei OBS SDK | Bitzsoft.Integrations.FileStorage.Huawei |
| AWS S3 | aws | AWS SDK for .NET | Bitzsoft.Integrations.FileStorage.Aws |
| Azure Blob | azure | Azure.Storage.Blobs | Bitzsoft.Integrations.FileStorage.Azure |
| Google Cloud Storage | googlecloud | GCS REST | Bitzsoft.Integrations.FileStorage.GoogleCloud |
| MinIO | minio | MinIO SDK | Bitzsoft.Integrations.FileStorage.Minio |
| 七牛云 Kodo | qiniu | 七牛 SDK | Bitzsoft.Integrations.FileStorage.Qiniu |
| 又拍云 | upyun | 又拍云 REST | Bitzsoft.Integrations.FileStorage.Upyun |
| 金山云 KS3 | kingsoft | KS3 SDK | Bitzsoft.Integrations.FileStorage.Kingsoft |
| NAS / 本地 | nas | 文件系统 | Bitzsoft.Integrations.FileStorage.Nas |
各厂商文档
编写中
本章节的详细页面正在编写中。