Files
cmhub/apps/api/storage.py
T

22 lines
613 B
Python
Raw Normal View History

2026-07-02 22:41:37 +08:00
from __future__ import annotations
from uuid import uuid4
from django.core.files.base import ContentFile
from django.core.files.storage import default_storage
from django.utils import timezone
def save_generated_image(image: bytes, *, request=None) -> str:
today = timezone.now()
path = (
"generated/images/"
f"{today:%Y/%m/%d}/"
f"{uuid4().hex}.png"
)
saved_path = default_storage.save(path, ContentFile(image))
url = default_storage.url(saved_path)
if request is not None and url.startswith("/"):
return request.build_absolute_uri(url)
return url