TDS-Project1-API / app /services /attachments.py
adrija93's picture
Upload app files
e549219 verified
Raw History Blame Contribute Delete
536 Bytes
import base64
from typing import Tuple
# Parse data: URIs like data:text/plain;base64,SGVsbG8=
def is_data_uri(url: str) -> bool:
return url.startswith("data:")
def decode_data_uri(url: str) -> Tuple[str, bytes]:
# returns (mime, bytes)
assert url.startswith("data:"), "Not a data URI"
header, b64 = url.split(",", 1)
mime = header[5:].split(";")[0] or "application/octet-stream"
if ";base64" in header:
data = base64.b64decode(b64)
else:
data = b64.encode("utf-8")
return mime, data