MinIO快速開始
前提:本地需要事先啟動MinIO
如果項目通過maven構建可在項目工程中引入maven坐標
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>3.0.10</version> </dependency>
如果項目為gradle構建則導入對應的gardle坐標
dependencies {
compile 'io.minio:minio:3.0.10'
}
沒有maven可直接在meven倉庫下載相關jar包導入所在工程
使用java進行圖片上傳
通過MinIO官方java SDk文檔可得到MinIO的demo如下:
public class FileUploader {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException, InvalidKeyException{ try { // 使用MinIO服務器名稱、端口、AccessKey和SecreKey創建minioClient。得到MinIOClient對象 MinioClient minioClient = new MinioClient("http://localhost:9000", "minioadmin", "minioadmin"); // 檢查Bucket是否已經存在。參數demo為自己創建的bucket名稱 boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket("demo").build()); if(isExist) { System.out.println("Bucket already exists."); } else { // 如果不存在 則創建一個新的bucket 用於存儲文件. minioClient.makeBucket(MakeBucketArgs.builder().bucket("demo").build()); } // 使用minioClient 的putObject 方法上傳 minioClient.putObject("demo", "demo.jpg", "C:\\Users\\Esummer\\Downloads\\shading-math.jpg", null); System.out.println("asiaphotos.zip is successfully uploaded as asiaphotos.zip to `asiatrip` bucket."); } catch(MinioException e) { System.out.println("Error occurred: " + e); } } }
putObject()是一個重載的方法,開發者可根據需求進行使用。
注:關於上面的minioClient.pubOjbect()方法,官網給出的實例代碼為:
minioClient.putObject("asiatrip","asiaphotos.zip", "/home/user/Photos/asiaphotos.zip");
可能依賴版本原因,找不到對應的方法,如圖,所以上面代碼使用的是4個參數的方法,設置傳入的第四個參數PutObjectOptions對象為null