minio
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:.net framwork 4.7.2下minio简单使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着业务场景的不断发展,OSS存储选择使用minio,但大多是在.net core环境对它的使用,本文就介绍了framwork 4. 7.2环境下对minio的简单实用。
提示:以下是本篇文章正文内容,下面案例可供参考
一、minio是什么?
官方解释:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL
原文链接:https://blog.youkuaiyun.com/xishining/article/details/113153101
二、使用步骤
1.引入库
代码如下(示例):
nuget 下载 Minio 3.1.13 版本
2.上传下载功能类
代码如下(示例):
public class MinIOHelper
{
private static readonly MinioClient mminio;
static MinIOHelper()
{
var endpoint = "xxx";
var acessKey = "xxx";
var secretKey = "xxx";
minio = new MinioClent(endpoint, accessKey, secretKey);
}
public async Task uploade(streing bucketName, string objectName, string filePath, string contentType)
{
try
{
bool found = await minio.BucketExistesAsync(bucketName).ConfigureAwait(false);
if(!found)
{
await minio.MakeBucketAsync(bucketName).ConfigureAwait(false);
}
await minio.PutObjectAsync(bucketName, objectName, filePath, contentType).ConfigureAwait(false);
}
catch(MinioException e)
{
Console.WriteLine("upload error:"+e.Message);
}
}
public async Task downloade(streing bucketName, string objectName, Action<Stream> action)
{
try
{
bool found = await minio.BucketExistesAsync(bucketName).ConfigureAwait(false);
if(!found)
{
await minio.MakeBucketAsync(bucketName).ConfigureAwait(false);
}
await minio.GetObjectAsync(bucketName, objectName, action).ConfigureAwait(false);
}
catch(MinioException e)
{
Console.WriteLine("download error:"+e.Message);
}
}
}
该处实例使用下载示例。
var minIOHelper = new MinIOHelper();
byte[] bytes;
string base64Str = string.Empty;
await minIOHelper.downLoade("mybucket",fileName,stream =>
{
if(stream != null )
{
stream.CopyTo(memoryStream);
bytes = memoryStream.ToArray();
base64Str = Convert.ToBase64String(bytes);
}
}
) .ConfigureAwait(false);
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了minio的使用,而minio提供了大量能使我们快速便捷地处理文件的函数和方法。