Метод read класса UploadFile
Метод read применяется к объекту UploadFile,
который FastAPI создаёт при получении файла через форму.
Метод читает содержимое файла и возвращает его в виде байтов.
Первым необязательным параметром передаётся количество байтов size,
которое нужно прочитать. Если параметр не указан или равен -1,
читается весь файл целиком.
Синтаксис
await file.read(size)
Пример
Давайте прочитаем весь загруженный файл целиком:
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post('/upload/')
async def upload(file: UploadFile = File()):
content = await file.read()
return {'size': len(content)}
Результат выполнения кода при загрузке файла размером 5 байт:
{"size": 5}
Пример
Давайте прочитаем только первые 3 байта файла:
<+python+>
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post('/upload/')
async def upload(file: UploadFile = File()):
content = await file.read(3)
return {'content': content.decode()}
<-python+>
Результат выполнения кода при загрузке файла с содержимым 'abcde':
{"content": "abc"}
Пример
Давайте прочитаем файл и декодируем его в строку:
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post('/upload/')
async def upload(file: UploadFile = File()):
content = await file.read()
text = content.decode('utf-8')
return {'text': text}
Результат выполнения кода при загрузке файла с содержимым 'hello':
{"text": "hello"}
Смотрите также
-
класс
UploadFile,
который представляет загруженный файл -
метод
write,
который записывает данные в файл -
метод
seek,
который перемещает позицию чтения файла -
атрибут
filename,
который хранит имя загруженного файла