Атрибут size
Атрибут size принадлежит классу UploadFile
и содержит размер загруженного файла в байтах.
Значение доступно только для чтения и устанавливается
автоматически при получении файла через форму.
Атрибут возвращает целое число или None,
если размер файла определить не удалось.
Синтаксис
upload_file.size
Пример
Давайте выведем размер загруженного файла в ответе:
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post('/upload/')
async def upload_file(file: UploadFile = File()):
return {'size': file.size}
Результат выполнения кода для файла размером 1024 байта:
{"size": 1024}
Пример
Давайте проверим размер файла перед сохранением:
<+python+>
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post('/upload/')
async def upload_file(file: UploadFile = File()):
if file.size is not None and file.size > 1000:
return {'error': 'file too large'}
return {'size': file.size}
<-python+>
Результат выполнения кода для файла размером 500 байт:
{"size": 500}
Пример
Давайте выведем имя файла и его размер вместе:
<+python+>
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post('/upload/')
async def upload_file(file: UploadFile = File()):
return {'filename': file.filename, 'size': file.size}
<-python+>
Результат выполнения кода:
{"filename": "article.txt", "size": 2048}
Смотрите также
-
класс
UploadFile,
который представляет загруженный файл -
атрибут
filename,
который хранит имя загруженного файла -
атрибут
content_type,
который хранит MIME-тип загруженного файла -
метод
read,
который читает содержимое загруженного файла