Проблема с возвратом файлов через FastAPI

С помощью FastAPI запускается локальный сервер, одна из функций которого должна возвращать изображение. Get запросом на сервер направляется host, port, id камеры и временная метка (datetime.timestamp).

Самый часто встречаемый ответ FastAPI:

TypeError: Failed to execute 'fetch' on 'Window': Failed to parse URL from http://127.0.0.1:8000/camera/get_screenshot

При использовании starlette.response.FileResponse ответ становится таким:

TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.

Примитивно сейчас это выглядит вот так:

from fastapi import FastAPI
from starlette.response import FileResponse

app = FastAPI()

@app.get('/screenshot/')
async def get_screenshot():
    ...
    file = FileResponse(obj.screenshot())
    return file

obj - объект созданного класса, метод скриншот возвращает файл с изображением. Если возможно, подскажите где ошибка или опишите пример возврата файла через FastAPI в таком случае. Спасибо!

UPD Метод obj.screenshot()

def screenshot(self):
    ...
    url = ...
    r = requests.get(url, verify=False)
    scr_name = configs.timestamp.strftime('%Y-%m-%d_%H-%M-%S')
    with open(f'screenshot_{scr_name}.png', 'wb') as file:
        file.write(r.content)
        return file

Ответы (0 шт):