OSS系列---【java调用Minio实现文件上传下载】
1.引入pom依赖,okhttp有版本要求,最低4.8.3
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.4.2</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.9.3</version> </dependency>
2.测试代码
package com.fast.file; import io.minio.*; import io.minio.errors.*; import java.io.IOException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; public class FileUtil { public static void main(String[] args) throws Exception { // uploadFile(); downloadFile(); } private static void uploadFile() throws Exception { //1.创建客户端 MinioClient minioClient = MinioClient.builder() .endpoint("http://120.48.21.139:9000") .credentials("minioadmin", "minioadmin") .build(); //2.创建bucket boolean bucketExists = minioClient.bucketExists(BucketExistsArgs.builder().bucket("test").build()); if (!bucketExists){ minioClient.makeBucket(MakeBucketArgs.builder().bucket("test").build()); } //3.上传文件, // 注意: // 1.同一个bucket的文件,同名的文件会覆盖。 // 2.minio中存储的文件名字是.object("test1.txt")决定的,"test1.txt"是什么,就保存成什么名 minioClient.uploadObject(UploadObjectArgs.builder() .bucket("test") //上传后保存的名字 .object("test1.txt") //要上传的文件路径 .filename("hh.txt") .build()); System.out.println("文件上传成功!"); } private static void downloadFile() throws Exception { //1.创建客户端 MinioClient minioClient = MinioClient.builder() .endpoint("http://120.48.21.139:9000") .credentials("minioadmin", "minioadmin") .build(); //2.下载文件 minioClient.downloadObject(DownloadObjectArgs.builder() .bucket("test") //要下载的文件的名字,多级目录则用"/"分割 .object("test.txt") //下载后保存文件的路径,目录必须存在,不存在会抛异常,多级目录则写成test/test.txt,用/分割 .filename("test.txt") .build()); System.out.println("文件下载成功!"); } }
愿你走出半生,归来仍是少年!
分类:
【OSS对象存储解决方案系列】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?