一、环境概述

语言环境:.Net 8.0
开发工具:Visual Studio 2022(还是Rider好用,太他妈卡了)
工程模板:ASP.NET Core Web API(官方标准模板)
相关依赖:Minio(6.0.3)
操作系统:win10

二、Minio服务搭建
1、去官网下载Minio安装包,网上都有教程,不赘述了。
2、我的Minio目录结构是这样的,具体根据你自己调整

E:\MINIO
├─bin -- mc.exe和minio.exe放在bin里
├─data
└─log

这里是搭了一个单机版的,运行如下脚本

set MINIO_ROOT_USER=admin --设置用户名
set MINIO_ROOT_PASSWORD=12345678 -- 设置要求必须要8位及以上,不然会报错,不过应该可以设置。
cd E:\MinIO\bin\  --我的minio.exe放在bin下
minio.exe server  E:\MinIO\data --console-address "127.0.0.1:9000"  --address "127.0.0.1:9090"


三、新建Bucket和添加访问秘钥(傻瓜式操作,不赘述了)
四、mc测试连接
cmd运行下面这个

AccessKey和SecretKey是你创建的Bucket设置访问秘钥的时候获得的
mc.exe alias set myminio [通信协议+ip+端口] [AccessKey] [SecretKey]


五、SDK测试连接

using Minio;
var endpoint = "127.0.0.1:9090"; //这个endpoint不是Minio的WebUI端口,是他的API的端口,他妈被坑了好久
var accessKey = "G8HWNI0EOS0gwtlm8Na4";
var secretKey = "9Ko7ddoZ8Etk6Rt0pDqFz53uYeq3N3986hXcqLme";
var minioClient = new MinioClient()
                       .WithEndpoint(endpoint)
                       .WithCredentials(accessKey, secretKey)
                       .Build();
try
{
    var buckets = await minioClient.ListBucketsAsync();
    if (buckets==null||buckets.Buckets==null||buckets.Buckets.Count==0) { 
        return;
    }
    foreach (var bucket in buckets.Buckets)
    {
        Console.WriteLine($"- {bucket.Name}");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"连接失败: {ex.Message}");
}