|
from fastapi import FastAPI |
|
from fastapi.responses import StreamingResponse |
|
import urllib.request |
|
import io |
|
|
|
app = FastAPI() |
|
|
|
@app.get("/download-image") |
|
async def download_image(path: str): |
|
BASE_URL = "https://kwai-kolors-kolors-virtual-try-on.hf.space/file=" |
|
|
|
try: |
|
|
|
with urllib.request.urlopen(BASE_URL+path) as response: |
|
image_data = response.read() |
|
|
|
|
|
image_stream = io.BytesIO(image_data) |
|
|
|
|
|
return StreamingResponse( |
|
image_stream, |
|
media_type="image/webp", |
|
headers={ |
|
"Content-Disposition": "inline; filename=image.webp" |
|
} |
|
) |
|
except Exception as e: |
|
return {"error": str(e)} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'''import urllib.request |
|
|
|
url = 'https://kwai-kolors-kolors-virtual-try-on.hf.space/file=/tmp/gradio/e3f14f9d34b839a2b2a338b8e4a1827f6a1902663ddb031a8bb2e296b1bdcbf7/image.webp' |
|
|
|
def download_image_and_log_bytes(url, save_as): |
|
with urllib.request.urlopen(url) as response: |
|
image_data = response.read() |
|
print(f"[LOG] Image byte length: {len(image_data)}") |
|
print(f"[LOG] First 100 bytes: {image_data[:100]}") |
|
with open(save_as, 'wb') as f: |
|
f.write(image_data) |
|
|
|
save_as = 'imager.jpg' |
|
download_image_and_log_bytes(url, save_as)''' |