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

Класс UploadFile

Класс UploadFile используется в FastAPI для работы с файлами, загруженными через форму. Объект этого класса попадает в обработчик, когда параметр функции объявлен как UploadFile. Класс предоставляет асинхронные методы для чтения и записи, а также атрибуты filename, content_type, file, size и headers. В отличие от bytes, объект UploadFile хранит файл во временном буфере и позволяет работать с большими файлами без загрузки их целиком в память.

Синтаксис

from fastapi import UploadFile async def handler(file: UploadFile): ...

Пример

Давайте создадим обработчик, который принимает файл и возвращает его имя и тип:

from fastapi import FastAPI, UploadFile app = FastAPI() @app.post('/upload/') async def upload(file: UploadFile): return { 'filename': file.filename, 'content_type': file.content_type }

Результат выполнения кода при загрузке файла article.txt:

{"filename": "article.txt", "content_type": "text/plain"}

Пример

Давайте прочитаем содержимое загруженного файла с помощью метода read:

from fastapi import FastAPI, UploadFile app = FastAPI() @app.post('/read/') async def read_file(file: UploadFile): content = await file.read() return {'content': content.decode('utf-8')}

Результат выполнения кода для файла с текстом 'hello':

{"content": "hello"}

Пример

Давайте сохраним загруженный файл на диск, используя атрибут file и метод write:

from fastapi import FastAPI, UploadFile app = FastAPI() @app.post('/save/') async def save_file(file: UploadFile): content = await file.read() with open(f'saved_{file.filename}', 'wb') as f: f.write(content) return {'saved': file.filename}

Результат выполнения кода при загрузке файла user.txt:

{"saved": "user.txt"}

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

  • класс UploadFile,
    который представляет загруженный файл
  • метод read,
    который читает содержимое файла
  • метод write,
    который записывает данные в файл
  • атрибут filename,
    который хранит имя загруженного файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить