РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
126 of 307 menu

Класс FileResponse

Класс FileResponse применяется для отправки файла клиенту. Первым параметром передаётся путь path к файлу на диске. Вторым параметром можно указать filename - имя файла, которое увидит пользователь при скачивании. Параметр media_type задаёт MIME-тип содержимого, а stat_result позволяет передать результат os.stat, чтобы избежать повторного чтения метаданных. Параметр content_disposition_type управляет заголовком Content-Disposition и принимает значения 'attachment' или 'inline'.

Синтаксис

from fastapi.responses import FileResponse FileResponse(path, filename=None, media_type=None, stat_result=None, content_disposition_type='attachment')

Пример

Давайте отдадим файл 'data.txt' из корня проекта:

from fastapi import FastAPI from fastapi.responses import FileResponse app = FastAPI() @app.get('/download') def download(): return FileResponse('data.txt')

Результат выполнения кода - содержимое файла 'data.txt' в теле ответа с автоматически определённым MIME-типом.

Пример

Давайте зададим имя файла и MIME-тип вручную:

from fastapi import FastAPI from fastapi.responses import FileResponse app = FastAPI() @app.get('/report') def report(): return FileResponse( 'report.pdf', filename='article.pdf', media_type='application/pdf' )

Результат выполнения кода - браузер скачает файл под именем 'article.pdf' с типом 'application/pdf'.

Пример

Давайте откроем файл прямо в браузере, а не скачаем его, через content_disposition_type:

<+python+> from fastapi import FastAPI from fastapi.responses import FileResponse app = FastAPI() @app.get('/view') def view(): return FileResponse( 'image.png', media_type='image/png', content_disposition_type='inline' ) <-python+>

Результат выполнения кода - изображение отобразится непосредственно в окне браузера.

Смотрите также

  • класс Response,
    базовый класс для всех ответов FastAPI
  • класс StreamingResponse,
    который отдаёт данные потоком
  • параметр path,
    который задаёт путь к файлу
  • параметр filename,
    который задаёт имя скачиваемого файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить