当前位置: 代码网 > it编程>编程语言>Asp.net > C#系列-使用 Minio 做图片服务器实现图片上传 和下载(13)

C#系列-使用 Minio 做图片服务器实现图片上传 和下载(13)

2024年08月02日 Asp.net 我要评论
这些信息包括 MinIO 服务器的访问地址(Endpoint)、 访问密钥(AccessKey)和密钥(SecretKey)。请 记下这些信息,你将在代码中使用它们来连接和操作 MinIO 服务器。注意:在生产环境中,你应该使用更安全的方式来管理你的访问密钥和秘密密钥,比如使用环境变量或秘密管理工具来存储这些敏感信息。1. 现在,你可以使用代码来连接和操作 MinIO 服务 器,如前面提供的示例代码所示。客户端,检查存储桶是否存在,上传和下载文件,列出存储桶中的对象,以及删除对象。

1minio 服务器下载和安装

要在本地安装和运行 minio 服务器,你可以按照以下 步骤进行操作:

1. 访问 minio 的官方网站:https://min.io/,然后 点击页面上的”download”按钮。

2. 在下载页面上,选择适合你操作系统的 minio 服 务器版本进行下载。minio 服务器支持 windows、linux 和 macos 等操作系统。

3. 下载完成后,解压缩下载的文件。在 windows 上,你可以使用压缩软件(如 winrar 或 7-zip)

进行解压缩。在 linux 和 macos 上,你可以使

用命令行工具进行解压缩。

4. 打开解压缩后的文件夹,你会看到一个名为” minio”(或”minio.exe”)的可执行文件。

5. 在命令行中,进入到 minio 服务器所在的文件 夹。

6.  运行以下命令来启动 minio 服务器:

在 windows 上:

minio.exe server <path_to_data_director y>

minio.exe server d:\tempfile

在 linux 和 macos 上:

./minio  server <path_to_data_directory>

<path_to_data_directory>是你想要用作 minio 服务器数据存储的文件夹路径。如果指定 的文件夹不存在,minio 服务器会自动创建它。

7. 当 minio 服务器成功启动后,你会在命令行中看 到类似以下的输出:

endpoint:     http://127.0.0.1:9000 http://192.

168.1.10:9000

accesskey: <your_access_key>

secretkey: <your_secret_key>

...

这些信息包括 minio 服务器的访问地址(endpoint)、 访问密钥(accesskey)和密钥(secretkey)。请 记下这些信息,你将在代码中使用它们来连接和操作 minio 服务器。

1. 现在,你可以使用代码来连接和操作 minio 服务 器,如前面提供的示例代码所示。

请注意,这只是一个本地安装和运行 minio 服务器的 简单示例。在实际应用中,你可能需要进行更多的配 置和安全性设置。你可以参考 minio 的官方文档 minio object storage for kubernetes — minio object storage for kubernetes

2、图片,视频上传和下载 使用 minio 创建文件数据库

c#访问minio可以通过minio的官方.net sdk来实现。minio是一个高性能的对象存储服务器,与amazon s3兼容。你可以使用minio.net sdk来上传、下载、列出、删除等操作对象存储中的文件。

首先,你需要在你的c#项目中安装minio.net sdk。你可以通过nuget包管理器来安装minio包。

shell代码

install-package minio -version [版本号]

或者,如果你使用.net core cli,可以运行:

shell代码

dotnet add package minio --version [版本号]

安装完成后,你可以在你的c#代码中这样使用minio sdk

csharp代码

using minio;

using system;

using system.io;

using system.threading.tasks;

class program

{

static async task main(string[] args)

{

// minio服务器地址、端口、访问密钥和秘密密钥

var minioclient = new minioclient("minio.example.com", 9000, "your-access-key", "your-secret-key");

try

{

// 检查存储桶是否存在

bool isbucketexist = await minioclient.bucketexistsasync("my-bucket");

if (!isbucketexist)

{

// 创建一个新的存储桶

await minioclient.makebucketasync("my-bucket");

}

// 上传一个文件到存储桶

var putobjectargs = new putobjectargs("my-bucket", "my-objectname", new memorystream(system.text.encoding.utf8.getbytes("hello, minio!")));

await minioclient.putobjectasync(putobjectargs);

// 下载文件

using (var memorystream = new memorystream())

{

var getobjectargs = new getobjectargs("my-bucket", "my-objectname");

await minioclient.getobjectasync(getobjectargs, memorystream);

memorystream.position = 0;

using (var streamreader = new streamreader(memorystream))

{

console.writeline(streamreader.readtoend());

}

}

// 列出存储桶中的对象

var listobjectsargs = new listobjectsargs("my-bucket");

var objects = await minioclient.listobjectsasync(listobjectsargs);

foreach (var obj in objects)

{

console.writeline($"object: {obj.key}, size: {obj.size}");

}

// 删除对象

await minioclient.removeobjectasync("my-bucket", "my-objectname");

}

catch (exception ex)

{

console.writeline(ex.message);

}

}

}

确保替换上面代码中的minio.example.com9000your-access-keyyour-secret-key为实际的minio服务器地址、端口以及你的访问密钥和秘密密钥。

这个示例代码展示了如何创建minio客户端,检查存储桶是否存在,上传和下载文件,列出存储桶中的对象,以及删除对象。

注意:在生产环境中,你应该使用更安全的方式来管理你的访问密钥和秘密密钥,比如使用环境变量或秘密管理工具来存储这些敏感信息。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com