Springboot获取821版本的minio上传文件进度
要获取Minio上传文件的进度,可以使用Minio Java SDK提供的ProgressListener接口。在Spring Boot中,你可以使用以下代码来上传文件并监视进度:
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import io.minio.ProgressListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.springframework.stereotype.Service;
@Service
public class MinioService {
private final MinioClient minioClient;
public MinioService(MinioClient minioClient) {
this.minioClient = minioClient;
}
public void uploadFile(File file, String bucketName, String objectName) throws IOException {
PutObjectArgs args = PutObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.stream(new FileInputStream(file), file.length(), -1)
.build();
ProgressListener progressListener = progress -> {
float pct = progress.bytesTransferred() * 100f / progress.totalBytes();
System.out.printf("Upload progress: %.2f%%\n", pct);
};
minioClient.putObject(args, progressListener);
}
}
在上面的代码中,我们定义了一个ProgressListener接口的实现,它将打印上传进度。我们将这个监听器传递给putObject()方法,以便在上传文件时监视进度。
原文地址: https://www.cveoy.top/t/topic/b2Tc 著作权归作者所有。请勿转载和采集!