minio批量上传进度条
时间: 2025-02-04 18:35:30 浏览: 60
### 实现 MinIO 批量上传文件并显示进度条
为了实现在使用 MinIO 进行多文件上传时添加进度条以监控上传状态,可以通过监听每次数据传输的回调函数来更新进度。具体方法是在调用 `PutObject` 方法时传递一个自定义的请求选项,并设置进度监听器。
以下是 Python 中利用 `minio-py` 库实现这一功能的方式:
```python
from minio import Minio
from tqdm import tqdm
def progressbar(length):
pbar = tqdm(total=length)
def update_progress(current, total):
if current >= length or total >= length:
pbar.n = length
else:
pbar.update(current - pbar.n)
pbar.refresh()
return update_progress
client = Minio(
"192.168.30.12:9000", # MinIO服务器地址[^3]
access_key="YOUR-ACCESSKEYID",
secret_key="YOUR-SECRETACCESSKEY",
secure=False
)
files_to_upload = ["file1.txt", "file2.txt"] # 文件列表
for file_name in files_to_upload:
with open(file_name, 'rb') as data_stream:
content_length = os.path.getsize(file_name)
result = client.put_object(
bucket_name='my-bucket',
object_name=file_name,
data=data_stream,
length=content_length,
progress=progressbar(content_length) # 添加进度条支持
)
```
上述代码片段展示了如何通过 `tqdm` 库创建进度条,并将其集成到 MinIO 的对象存储操作中去。每当有新的字节被发送给 MinIO 服务端的时候,都会触发一次进度条的刷新动作[^1]。
对于 Java 或其他编程语言来说,虽然具体的 API 调用方式会有所不同,但是核心思路是一致的——即寻找能够接收上传事件通知的方法或接口参数来进行相应的处理逻辑编写。
阅读全文
相关推荐


















