minio上传图片工具类
时间: 2023-08-05 08:10:05 浏览: 73
你好!以下是一个使用MinIO进行图片上传的工具类的示例:
```python
import os
from minio import Minio
from minio.error import (ResponseError, BucketAlreadyOwnedByYou,
BucketAlreadyExists)
class MinioUploader:
def __init__(self, endpoint, access_key, secret_key):
self.client = Minio(endpoint, access_key=access_key, secret_key=secret_key, secure=False)
def create_bucket(self, bucket_name):
try:
self.client.make_bucket(bucket_name)
except BucketAlreadyOwnedByYou as err:
pass
except BucketAlreadyExists as err:
pass
except ResponseError as err:
raise
def upload_image(self, bucket_name, object_name, file_path):
try:
self.client.fput_object(bucket_name, object_name, file_path)
return True
except ResponseError as err:
print(f"Error uploading image: {err}")
return False
# 示例用法
endpoint = "minio.example.com" # MinIO服务器的地址
access_key = "your-access-key" # MinIO的访问密钥
secret_key = "your-secret-key" # MinIO的秘密密钥
bucket_name = "your-bucket-name" # 存储桶的名称
object_name = "image.jpg" # 图片在MinIO中的对象名称
file_path = "path/to/image.jpg" # 本地图片文件的路径
uploader = MinioUploader(endpoint, access_key, secret_key)
uploader.create_bucket(bucket_name)
uploader.upload_image(bucket_name, object_name, file_path)
```
请确保在运行此示例之前已安装 `minio` 库。你可以根据你的具体需求进行调整和扩展。希望对你有所帮助!