Vivek-AdGenesis-St / src /r2_uploader.py
userIdc2024's picture
Update src/r2_uploader.py
c3e7abf verified
import boto3, os
import logging
from uuid import uuid4
def upload_image_to_r2(image_bytes, folder_name="leadgen_vivek", app_type="bulk_generation"):
try:
s3 = boto3.client(
"s3",
endpoint_url=os.getenv('R2_ENDPOINT'),
aws_access_key_id=os.getenv('R2_ACCESS_KEY'),
aws_secret_access_key=os.getenv('R2_SECRET_KEY'),
region_name="auto"
)
filename = f"{uuid4().hex}.png"
if folder_name:
file_key = f"hug_face/{app_type.strip('/')}/{folder_name.strip('/')}/{filename}"
else:
file_key = f"hug_face/{app_type.strip('/')}/{filename}"
s3.put_object(
Bucket=os.getenv('R2_BUCKET_NAME'),
Key=file_key,
Body=image_bytes,
ContentType="image/png"
)
return f"{os.getenv('NEW_BASE').rstrip('/')}/{file_key}"
except Exception as e:
logging.error(e)
return None