File size: 503 Bytes
11b11b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from PIL import Image
from io import BytesIO
import requests
from fastapi import UploadFile
from typing import Optional

async def get_file(file: Optional[UploadFile] = None, url: Optional[str] = None) -> Image.Image:
    if file:
        image = Image.open(file.file).convert("RGB")
    elif url:
        response = requests.get(url)
        image = Image.open(BytesIO(response.content)).convert("RGB")
    else:
        raise ValueError("No image file or URL provided.")
    return image