api support get image from url

This commit is contained in:
SpenserCai 2023-08-19 12:19:21 +08:00
parent 541ef9247c
commit 4760c3c0b5
1 changed files with 9 additions and 0 deletions

View File

@ -57,6 +57,15 @@ def setUpscalers(req: dict):
def decode_base64_to_image(encoding): def decode_base64_to_image(encoding):
if encoding.startswith("http://") or encoding.startswith("https://"):
import requests
response = requests.get(encoding, timeout=30, headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'})
try:
image = Image.open(BytesIO(response.content))
return image
except Exception as e:
raise HTTPException(status_code=500, detail="Invalid image url") from e
if encoding.startswith("data:image/"): if encoding.startswith("data:image/"):
encoding = encoding.split(";")[1].split(",")[1] encoding = encoding.split(";")[1].split(",")[1]
try: try: