微服務中,采用MinIo作為文件分布式存儲,對文件的上傳,下載做統一管理
MinIo文檔:
http://docs.minio.org.cn/docs/
MinIo有兩個重要的對象,服務器minio.exe和客戶端minio.client。搭建服務器用於接收文件信息,客戶端用於上傳文件。
大致步驟如下:
1.創建Minio服務器 minIo.exe
首先下載minio.exe,我們以Windows為例,其他系統可在MinIo官網中找到下載地址:
下載並安裝,在安裝后的目錄下,輸入cmd命令,如:
minio.exe server D:\minioserver
配置成功后如下圖所示:


2.用戶名和密碼設置
在安裝目錄下的.minio.sys》config文件,可修改兩個Key值


3.上傳文件
(1)創建客戶端
1 var endpoint = "127.0.0.1:9000"; 2 var accessKey = "GD4O6PLLR22K8DK99P2O"; 3 var secretKey = "+rrx00RyANjyoV7XAwt8oEvi3KSgVq30wnpYqjCS";
4 var minioclient = new MinioClient(endpoint, accessKey, secretKey); var location = "us-east-1";
(2)創建文件桶
MakeBuketAsync
每個文件都需要存儲到對應的bucket中,如果沒有,需要創建bucketName
1 bool found = await minioclient.BucketExistsAsync(bucketName); 2 if (!found) 3 { 4 await minioclient.MakeBucketAsync(bucketName, location); 5 }
(3)上傳文件
PutobjectAysnc
await minioclient.PutObjectAsync(bucketName, FileId, formFile.OpenReadStream(), formFile.Length, formFile.ContentType);
4.預覽或下載文件
PresignedGetObjectAsync
返回打開的地址,最久有效期7天,可自行配置
await minioclient.PresignedGetObjectAsync(bucketName, FileId, 60 * 60 * 24);
MinIo還有例如斷點續傳,支持集群,高性能讀寫等優勢,后續深入會繼續更新
以上,僅用於學習和總結!