38 lines
1012 B
Python
38 lines
1012 B
Python
#!/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 PIL import Image
|
||
from minio import Minio
|
||
|
||
from app.core.config import *
|
||
|
||
minio_client = Minio(MINIO_URL, access_key=MINIO_ACCESS, secret_key=MINIO_SECRET, secure=MINIO_SECURE)
|
||
|
||
|
||
def upload_png_sd(image, user_id, category, object_name):
|
||
try:
|
||
image_file = io.BytesIO()
|
||
image = Image.fromarray(image)
|
||
image.save(image_file, format='JPEG')
|
||
image_file.seek(0)
|
||
minio_req = minio_client.put_object(
|
||
GI_MINIO_BUCKET,
|
||
f'{user_id}/{category}/{object_name}',
|
||
image_file,
|
||
len(image_file.getvalue()),
|
||
content_type='image/jpeg'
|
||
)
|
||
image_url = f"aida-users/{minio_req.object_name}"
|
||
return image_url
|
||
except Exception as e:
|
||
logging.warning(f"upload_png_mask runtime exception : {e}")
|