From 4760c3c0b58059e9c655a6ea8360c65a4586a71b Mon Sep 17 00:00:00 2001 From: SpenserCai Date: Sat, 19 Aug 2023 12:19:21 +0800 Subject: [PATCH] api support get image from url --- modules/api/api.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/api/api.py b/modules/api/api.py index fb2c2ce9a..4abfd9bd5 100644 --- a/modules/api/api.py +++ b/modules/api/api.py @@ -57,6 +57,15 @@ def setUpscalers(req: dict): 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/"): encoding = encoding.split(";")[1].split(",")[1] try: