2024-04-15 18:07:25 +08:00
|
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
# -*- coding: UTF-8 -*-
|
|
|
|
|
|
"""
|
|
|
|
|
|
@Project :trinity_client
|
|
|
|
|
|
@File :upload_image.py
|
|
|
|
|
|
@Author :周成融
|
|
|
|
|
|
@Date :2023/8/28 13:49:20
|
|
|
|
|
|
@detail :
|
|
|
|
|
|
"""
|
|
|
|
|
|
import io
|
|
|
|
|
|
import logging
|
|
|
|
|
|
from minio import Minio
|
|
|
|
|
|
|
|
|
|
|
|
from app.core.config import *
|
|
|
|
|
|
|
|
|
|
|
|
minio_client = Minio(
|
|
|
|
|
|
f"{MINIO_IP}:{MINIO_PORT}",
|
|
|
|
|
|
access_key=MINIO_ACCESS,
|
|
|
|
|
|
secret_key=MINIO_SECRET,
|
|
|
|
|
|
secure=MINIO_SECURE)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def upload_png_sd(image, user_id, category, object_name):
|
|
|
|
|
|
try:
|
|
|
|
|
|
image_data = io.BytesIO()
|
|
|
|
|
|
image.save(image_data, format='PNG')
|
|
|
|
|
|
image_data.seek(0)
|
|
|
|
|
|
image_bytes = image_data.read()
|
2024-04-15 18:26:48 +08:00
|
|
|
|
image_url = f"aida-users/{minio_client.put_object(f'{GI_MINIO_BUCKET}', f'{user_id}/{category}/{object_name}', io.BytesIO(image_bytes), len(image_bytes), content_type='image/png').object_name}"
|
2024-04-15 18:07:25 +08:00
|
|
|
|
|
|
|
|
|
|
return image_url
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
|
logging.warning(f"upload_png_mask runtime exception : {e}")
|