要获取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()方法,以便在上传文件时监视进度。

Springboot获取821版本的minio上传文件进度

原文地址: https://www.cveoy.top/t/topic/b2Tc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录