用java上传file文件到minio
时间: 2024-01-21 10:17:41 浏览: 181
要使用Java上传文件到Minio,需要使用Minio Java客户端SDK。以下是一个示例代码,可以将本地文件上传到Minio服务器。
首先,你需要在项目中添加以下依赖项:
```xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.1.0</version>
</dependency>
```
然后,你可以使用以下代码将文件上传到Minio服务器:
```java
import io.minio.MinioClient;
import io.minio.errors.MinioException;
import java.io.File;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
public class MinioUploader {
public static void main(String[] args) {
try {
// Initialize the Minio client
MinioClient client = new MinioClient("http://localhost:9000", "access_key", "secret_key");
// Check if the bucket exists, create it if it does not
String bucketName = "my-bucket";
boolean found = client.bucketExists(bucketName);
if (!found) {
client.makeBucket(bucketName);
}
// Upload the file to the bucket
String fileName = "test.txt";
File file = new File("/path/to/test.txt");
client.putObject(bucketName, fileName, file.getAbsolutePath(), null, null, null, null);
System.out.println("File uploaded successfully.");
} catch (IOException | NoSuchAlgorithmException | InvalidKeyException | MinioException e) {
System.out.println("Error occurred: " + e.getMessage());
}
}
}
```
在上面的代码中,我们首先使用MinioClient对象初始化Minio客户端,并检查我们要上传到的桶是否存在。如果桶不存在,我们使用makeBucket()方法创建它。然后,我们使用putObject()方法将文件上传到桶中。
你需要将上面的代码中的以下值替换为你自己的值:
- http://localhost:9000 - Minio服务器的URL
- access_key - Minio的访问密钥
- secret_key - Minio的秘密密钥
- my-bucket - 你要上传到的桶的名称
- /path/to/test.txt - 你要上传的本地文件的路径。
注意:如果你的文件是大文件,你应该使用putObject()方法的其他重载版本,以支持分片上传。
阅读全文