English | 中文
这是一个使用 RustFS 技术实现的 .NET S3 演示项目,展示了如何在 .NET 环境中与 S3 兼容的存储服务进行交互。
本项目主要实现了以下功能:
- 存储桶管理:创建、删除、检查存在性、列出所有存储桶
- 文件管理:上传、下载、删除、列出存储桶中的文件
- 统一的 API 响应格式
- 异常处理中间件
- 使用 AWS S3 兼容的 API 进行对象存储操作
- 清晰的错误处理和响应格式
- 模块化的代码结构
- 支持异步操作
所有 API 都遵循统一的响应格式,包含以下字段:
- Success: 操作是否成功
- Code: HTTP 状态码
- Message: 操作结果描述
- Data: 返回数据(如果有)
POST /api/bucket/{bucketName}POST /api/file/upload/{bucketName}/{key}
Form-data: file=@local_file_pathGET /api/file/download/{bucketName}/{key}DELETE /api/file/{bucketName}/{key}- Controllers: 包含 BucketManageController.cs 和 FileManageController.cs 等控制器类
- Extensions: 包含控制器扩展方法
- Handlers: 包含异常处理相关类
- Models: 包含响应模型类
- Services: 包含 AWS S3 服务实现
- Settings: 包含 AWS S3 配置设置
项目使用统一的异常处理机制,所有异常都会被转换为 ProblemDetailsResponse 格式返回给客户端。
AWS S3 的连接信息通过 AwsS3Setting 类进行配置,包含服务地址、访问密钥、秘密密钥和区域设置。
本项目遵循 Apache-2.0 许可证。
👉 特别感谢 @zfchai 提交的关于.Net的第一版演示代码。