python 上传处理后的图片到minio,并重命名和返回访问地址
时间: 2024-05-10 09:19:14 浏览: 234
上传图片,返回图片地址
4星 · 用户满意度95%
可以使用Minio Python客户端来实现上传处理后的图片到Minio。以下是一个示例代码:
```python
from minio import Minio
from minio.error import ResponseError
import uuid
# 初始化Minio客户端
minio_client = Minio('minio_url',
access_key='minio_access_key',
secret_key='minio_secret_key',
secure=False)
# 上传文件到Minio
def upload_to_minio(file_path, bucket_name):
try:
# 生成新的文件名
file_name = str(uuid.uuid4()) + '.' + file_path.split('.')[-1]
# 上传文件到Minio
minio_client.fput_object(bucket_name, file_name, file_path)
# 返回访问地址
return minio_client.presigned_get_object(bucket_name, file_name)
except ResponseError as err:
print(err)
```
上面的代码中,我们首先通过Minio Python客户端初始化了一个Minio客户端,然后定义了一个`upload_to_minio`函数来上传文件到Minio。在这个函数中,我们通过`str(uuid.uuid4())`来生成一个唯一的文件名,并将原文件的扩展名添加到文件名中。然后使用`minio_client.fput_object`将文件上传到指定的Minio桶中。最后,使用`minio_client.presigned_get_object`生成一个预签名的URL,返回给调用方,以便后续访问。
注意,上面的代码中,我们需要将`minio_url`、`minio_access_key`、`minio_secret_key`和`bucket_name`替换为实际的值。并且需要安装`minio`模块。
阅读全文