minio上传图片工具类
时间: 2023-08-05 21:10:05 浏览: 91
对于MinIO上传图片,你可以使用MinIO的Java SDK来实现一个工具类。以下是一个简单的示例:
```java
import io.minio.MinioClient;
import io.minio.errors.MinioException;
import io.minio.policy.PolicyType;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class MinioUploader {
private static final String ENDPOINT = "minio.example.com";
private static final String ACCESS_KEY = "your-access-key";
private static final String SECRET_KEY = "your-secret-key";
private static final String BUCKET_NAME = "your-bucket-name";
public static void uploadImage(String objectName, String filePath) {
try {
// 创建一个MinioClient对象
MinioClient minioClient = new MinioClient(ENDPOINT, ACCESS_KEY, SECRET_KEY);
// 检查存储桶是否存在,如果不存在则创建
boolean isExist = minioClient.bucketExists(BUCKET_NAME);
if (!isExist) {
minioClient.makeBucket(BUCKET_NAME);
minioClient.setBucketPolicy(BUCKET_NAME, "*", PolicyType.READ_WRITE);
}
// 上传文件
minioClient.putObject(BUCKET_NAME, objectName, filePath, null, null, null, null);
System.out.println("文件上传成功!");
} catch (MinioException | IOException e) {
System.out.println("文件上传失败:" + e.getMessage());
}
}
public static void main(String[] args) {
String objectName = "example.jpg";
String filePath = "/path/to/example.jpg";
uploadImage(objectName, filePath);
}
}
```
在上面的示例中,你需要将`ENDPOINT`,`ACCESS_KEY`,`SECRET_KEY`和`BUCKET_NAME`替换为你实际的MinIO配置。然后,使用`uploadImage`方法来上传图片,传入图片的对象名称和文件路径。你可以根据自己的需求进行修改和扩展这个工具类。
阅读全文