C# minio文件上传
时间: 2025-01-30 09:28:25 浏览: 157
### C# 中使用 MinIO 进行文件上传
为了实现基于 C# 的应用程序向 MinIO 存储桶上传文件的功能,可以利用官方提供的 .NET SDK 来简化开发过程。下面展示了一个简单的例子来说明如何设置客户端以及执行文件上传操作。
#### 安装 MinIO.Client NuGet 包
首先,在项目中安装 `Minio` 库:
```shell
dotnet add package Minio
```
#### 初始化 MinIO Client 并上传文件
接下来是具体的代码片段用于创建 MinIO 客户端实例并将指定路径下的文件上传至目标存储桶内[^1]。
```csharp
using System;
using System.Threading.Tasks;
using Minio;
class Program {
static async Task Main(string[] args) {
var minioClient = new MinioClient()
.WithEndpoint("play.min.io") // 替换成实际的服务地址
.WithCredentials("YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY") // 设置访问凭证
.Build();
string bucketName = "mybucket";
string objectName = "examplefile.txt";
string filePath = "/path/to/your/file.txt";
try {
bool isExist = await minioClient.BucketExistsAsync(bucketName);
if (!isExist) {
Console.WriteLine($"Bucket {bucketName} does not exist, creating...");
await minioClient.MakeBucketAsync(bucketName);
}
await minioClient.PutObjectAsync(
bucket: bucketName,
@object: objectName,
streamData: System.IO.File.OpenRead(filePath),
sizeOfStreamInBytes: new System.IO.FileInfo(filePath).Length);
Console.WriteLine($"{filePath} uploaded successfully to bucket '{bucketName}' as '{objectName}'.");
} catch (Exception e) {
Console.Error.WriteLine($"Error occurred: {e.Message}");
}
}
}
```
这段程序展示了怎样连接到 MinIO 服务器、验证存储桶是否存在(如果不存在则创建)、最后把本地磁盘上的文件作为对象存入特定的存储桶里。
阅读全文
相关推荐















