Minio是一个开源的、自托管的对象存储服务器,它提供了类似于云存储服务的功能。你可以使用Minio搭建自己的私有云存储解决方案,或者作为公共存储服务的替代方案。
安装
官网:https://min.io/download
根据官网内容进行安装即可。笔者采用windos 本地安装的方式
安装好后就能看到账号和密码了。默认的为 miniadmin 登录地址为:http://127.0.0.1:9001/
默认的管理控制台端口是9001 客户端的请求的端口是9000
PS> setx MINIO_ROOT_USER admin
PS> setx MINIO_ROOT_PASSWORD 123456 ps> minio.exe server D:\minio\Data --console-address ":9001"
知识点
最简单的办法参考Asp.Net Core
5.0/6.0对象储存扩展包,支持Minio自建对象储存、阿里云OSS、腾讯云COS、七牛云Kodo。支持OSS常规操作,比如储存桶创建,删除、对象上传、下载、生成签名URL等。支持.NET
5/6,也推荐升级至.NET 5/6.
DotNet官方示例 static void Main(string[] args)
{
var endpoint = "play.min.io";
var accessKey = "Q3AM3UQ867SPQQA43P2F";
var secretKey = "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG";
try
{
var minio = new MinioClient
.WithEndpoint(endpoint)
.WithCredentials(accessKey, secretKey)
.WithSSL
.Build;
FileUpload.Run(minio).Wait;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine;
}
// File uploader task.
private async static Task Run(MinioClient minio)
{
var bucketName = "mymusic";
var location = "us-east-1";
var objectName = "0.png";
var filePath = "C:\\Users\\Pride\\Pictures\\0.png";
//var contentType = "application/zip";
try
{
// 在服务器上创建一个bucket(如果还没有)。
var beArgs = new BucketExistsArgs
.WithBucket(bucketName);
//是否存在bucket
bool found = await minio.BucketExistsAsync(beArgs).ConfigureAwait(false);
if (!found)
{
var mbArgs = new MakeBucketArgs
.WithBucket(bucketName);
await minio.MakeBucketAsync(mbArgs).ConfigureAwait(false);
}
//上传文件到bucket。
var putObjectArgs = new PutObjectArgs
.WithBucket(bucketName)
.WithObject(objectName)
.WithFileName(filePath);
//.WithContentType(contentType);
var res= await minio.PutObjectAsync(putObjectArgs).ConfigureAwait(false);
Console.WriteLine("Successfully uploaded " + objectName);
}
catch (MinioException e)
{
Console.WriteLine("File Upload Error: {0}", e.Message);
}
}
上传成功
直接访问就是失败