minio简单使用

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提供了大量能使我们快速便捷地处理文件的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值