Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про FastAPI: streaming, fast api, file

Как загрузить большой файл (≥3GB) на сервер FastAPI?

Вопрос проверяет способность обрабатывать загрузку больших файлов с использованием стриминга для оптимизации памяти.

Короткий ответ

Для загрузки больших файлов FastAPI использует объект UploadFile, который позволяет обрабатывать файлы в потоковом режиме без полного чтения в память.

Длинный ответ

FastAPI предоставляет объект UploadFile для обработки файлов. Этот объект позволяет загружать файлы в потоковом режиме, что критично при работе с большими файлами, поскольку это снижает нагрузку на оперативную память.

Пример обработки большого файла:

from fastapi import FastAPI, File, UploadFile

app = FastAPI()

@app.post("/upload/")
async def upload_file(file: UploadFile):
    	with open(f"uploaded_{file.filename}", "wb") as buffer:
        	while chunk := await file.read(1024 * 1024):  # Чтение файла по частям
            		buffer.write(chunk)
    	return {"filename": file.filename}

Особенности:

  • Используйте file.read(size) для чтения файла по частям.

  • Не забудьте обработать возможные ошибки, такие как прерывание соединения или превышение лимита размера файла.

Когда использовать:

  • Для приложений, работающих с большими файлами, например, видео или большими архивами.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    8

Навыки

  • FastAPI

    FastAPI

Ключевые слова

#streaming

#fast api

#file

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.