21 lines
665 B
Python
21 lines
665 B
Python
import base64
|
|
|
|
from minio import Minio
|
|
|
|
from app.core.config import MINIO_URL, MINIO_ACCESS, MINIO_SECRET, MINIO_SECURE
|
|
|
|
minio_client = Minio(MINIO_URL, access_key=MINIO_ACCESS, secret_key=MINIO_SECRET, secure=MINIO_SECURE)
|
|
|
|
|
|
def minio_url_to_base64(minio_url: str) -> str:
|
|
bucket_name, object_name = minio_url.split("/", 1)
|
|
|
|
try:
|
|
response = minio_client.get_object(bucket_name, object_name)
|
|
image_data = response.read()
|
|
return base64.b64encode(image_data).decode('utf-8')
|
|
except Exception as e:
|
|
raise RuntimeError(f"Failed to get object: {e}")
|
|
finally:
|
|
if 'response' in locals():
|
|
response.close() |