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();
    }
}
相关文章
|
开发者 Docker 容器
DockerFile的ADD和COPY的区别
DockerFile的ADD和COPY的区别
4759 0
|
机器学习/深度学习 运维 算法
大模型开发:描述一种用于异常检测的技术或算法。
LOF算法是一种无监督异常检测技术,通过比较数据点局部密度识别离群点。它计算每个点的局部离群因子得分,得分高则异常可能性大。主要步骤包括:距离度量、k近邻搜索、计算局部可达密度和LOF得分,然后设定阈值识别异常点。适用于入侵检测、故障检测等场景,Python中可使用scikit-learn库实现。
229 1
|
存储 Kubernetes Java
SpringBoot整合MinIO
MinIO是一款基于Go语言开发的高性能、分布式的对象存储系统,开源可商用。一开始就被设计为服务于私有云、公有云、混合云,因此在高可用、可扩展性、高性能方面有得天独厚的优势。 MinIO完全实现了AWS S3 标准,在日常使用、扩展升级、迁移方面更易于管理,对于上层应用程序来说,存储和访问对象是统一的,即使MinIO服务迁移了,应用程序侧是无感知的。 MinIO分三个版本,开源版、标准版、企业版,开源版本免费使用,后面两个为付费产品。MinIO支持多种部署环境:Kubernetes、Docker、Linux、MacOS、Windows
712 1
SpringBoot整合MinIO
|
Kubernetes 容器 Perl
使用kube-proxy让外部网络访问K8S service的ClusterIP
配置方式 kubernetes版本大于或者等于1.2时,外部网络(即非K8S集群内的网络)访问cluster IP的办法是: 修改master的/etc/kubernetes/proxy,把KUBE_PROXY_ARGS=”“改为KUBE_PROXY_ARGS=”–proxy-mode=userspace” 重启kube-proxy服务 在核心路由设备或者源主机上添加一条路由,访问cluster IP段的路由指向到master上。
4714 0
|
数据安全/隐私保护 Docker 容器
『MinIO』在Docker中快速部署MinIO
📣读完这篇文章里你能收获到 - 在Docker中快速部署MinIO
7171 5
『MinIO』在Docker中快速部署MinIO
|
机器学习/深度学习 文字识别 C#
C#使用PaddleOCR进行图片文字识别✨
C#使用PaddleOCR进行图片文字识别✨
517 0
|
Java 测试技术
【Java】已解决java.util.concurrent.CancellationException异常
【Java】已解决java.util.concurrent.CancellationException异常
547 0
|
存储 Shell 数据安全/隐私保护
minio一键安装脚本分享(shell和python)
minio一键安装脚本分享(shell和python)
395 0
|
API 数据安全/隐私保护 开发者
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践