minio上传下载

简介: minio上传下载

真正的礼貌表现在对人的善意上。——卢俊

首先是安装,注意选择合对应的的系统和安装方式

https://min.io/docs/minio/kubernetes/upstream/

例如我在windows。直接下载

https://dl.min.io/server/minio/release/windows-amd64/minio.exe

然后运行

minio.exe server D:\

打开localhost:9000,默认minioadmin:minioadmin进入界面

然后是代码实现上传下载,先引入依赖

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.5.6</version>
</dependency>

然后是代码:

package com.ruben;
import io.minio.*;
import io.minio.errors.MinioException;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
public class MinioDemo {
    public static void main(String[] args) {
        try {
            // 初始化客户端
            MinioClient minioClient = MinioClient.builder()
                    .endpoint("http://localhost:9000")  // 更新为你的Minio服务器地址
                    .credentials("minioadmin", "minioadmin")  // 使用你的访问和密钥
                    .build();
            // 检查一个存储桶是否存在
            BucketExistsArgs testbucket = BucketExistsArgs.builder().bucket("testbucket").build();
            boolean isExist = minioClient.bucketExists(testbucket);
            if (!isExist) {
                // 创建一个名为'testbucket'的存储桶
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("testbucket").build());
            }
            // 上传一个文件
            String content = "Hello, Minio!";
            InputStream stream = new ByteArrayInputStream(content.getBytes());
            ObjectWriteResponse res = minioClient.putObject(PutObjectArgs.builder().bucket("testbucket")
                    .object("hello.txt").contentType("text/plain")
                    .stream(stream, content.length(), -1).build());
            // 下载文件
            InputStream downloadedStream = minioClient.getObject(GetObjectArgs.builder()
                    .bucket("testbucket").object("hello.txt").build());
            String downloadedContent = readFromInputStream(downloadedStream);
            System.out.println("Downloaded content: " + downloadedContent);
            downloadedStream.close();
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static String readFromInputStream(InputStream is) throws IOException {
        byte[] buffer = new byte[1024];
        int bytesRead;
        StringBuilder sb = new StringBuilder();
        while ((bytesRead = is.read(buffer)) != -1) {
            sb.append(new String(buffer, 0, bytesRead));
        }
        return sb.toString();
    }
}
相关文章
|
6月前
|
文件存储 Windows
Minio文件存储
Minio文件存储
134 1
|
11月前
|
数据安全/隐私保护 Docker 容器
minio
minio
314 0
|
11月前
|
Linux 对象存储 Windows
MinIO 客户端安装与使用教程
MinIO 客户端安装与使用教程
377 0
|
应用服务中间件 nginx 数据安全/隐私保护
你好,MinIO
不花钱的对象就是香!
826 0
|
存储 负载均衡 算法
什么是Minio?如何搭建Minio集群?
MinIO 是高性能的对象存储,是为海量数据存储、人工智能、大数据分析而设计的,它完全兼容Amazon S3接口,单个对象最大可达5TB,适合存储海量图片、视频、日志文件、备份数据和容器/虚拟机镜像等。MinIO主要采用Golang语言实现,,客户端与存储服务器之间采用http/https通信协议。
2097 0
什么是Minio?如何搭建Minio集群?
|
存储 Web App开发 Go
使用Golang上传文件到MinIO对象存储(一)
前一篇文章介绍了开源存储系统 MinIO 的基本内容,今天我们就来看一下,如何使用 Golang 语言将本地的文件上传到 MinIO 对象存储服务上。
2741 2
|
2月前
|
存储 对象存储 数据安全/隐私保护
Minio图床介绍和使用
本文介绍了MinIO这一开源对象存储服务器的特点和优势,并提供了基于Docker的快速部署方法,以及如何使用MinIO进行文件上传和通过Web界面管理存储桶的详细步骤。
Minio图床介绍和使用
|
2月前
|
存储 Apache 对象存储
MinIO是什么?
MinIO是什么?
160 0
|
3月前
|
Linux
[minio]挂载minio到本地
[minio]挂载minio到本地
186 2
|
5月前
|
Kubernetes Linux 对象存储
Linux安装Minio
Linux安装Minio
436 0