java获取minio上传文件进度
为了获取Minio上传文件的进度,可以使用PutObjectProgressListener接口。以下是一个示例代码:
package com.example.minio;
import io.minio.MinioClient;
import io.minio.PutObjectOptions;
import io.minio.errors.MinioException;
import io.minio.progress.ProgressEvent;
import io.minio.progress.ProgressListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import org.xmlpull.v1.XmlPullParserException;
public class MinioUploadProgressExample {
public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException, XmlPullParserException, MinioException {
String accessKey = "ACCESS_KEY";
String secretKey = "SECRET_KEY";
String endpoint = "http://localhost:9000";
String bucketName = "mybucket";
String objectName = "myfile.txt";
File file = new File("/path/to/myfile.txt");
MinioClient minioClient = new MinioClient(endpoint, accessKey, secretKey);
// Create a listener for progress events
ProgressListener progressListener = new ProgressListener() {
@Override
public void progressChanged(ProgressEvent progressEvent) {
System.out.println("Uploaded " + progressEvent.getBytesTransferred() + " bytes out of " + progressEvent.getTotalBytes());
}
};
// Upload the file with progress listener
PutObjectOptions options = new PutObjectOptions(file.length(), -1);
options.setProgressListener(progressListener);
minioClient.putObject(bucketName, objectName, new FileInputStream(file), options);
}
}
在这个例子中,我们首先创建了一个MinioClient实例,然后使用ProgressListener接口创建一个进度监听器。接下来,我们使用PutObjectOptions类创建一个PutObject请求选项,将进度监听器传递给它。最后,我们调用putObject方法并传递文件的输入流和选项对象。这将启动上传,并通过进度监听器报告上传进度。
原文地址: https://www.cveoy.top/t/topic/b2Ql 著作权归作者所有。请勿转载和采集!