Skip to content

UploadFile class

This is the reference for the main object UploadFile that contains all the parameters, attributes and functions.

esmerald.UploadFile

UploadFile(file, *, size=None, filename=None, headers=None)

Bases: UploadFile

Adding pydantic specific functionalitty for parsing.

PARAMETER DESCRIPTION
file

TYPE: BinaryIO

size

TYPE: Optional[int] DEFAULT: None

filename

TYPE: Optional[str] DEFAULT: None

headers

TYPE: Optional[Headers] DEFAULT: None

Source code in .venv/lib/python3.8/site-packages/starlette/datastructures.py
436
437
438
439
440
441
442
443
444
445
446
447
def __init__(
    self,
    file: typing.BinaryIO,
    *,
    size: typing.Optional[int] = None,
    filename: typing.Optional[str] = None,
    headers: "typing.Optional[Headers]" = None,
) -> None:
    self.filename = filename
    self.file = file
    self.size = size
    self.headers = headers or Headers()

filename instance-attribute

filename = filename

file instance-attribute

file = file

size instance-attribute

size = size

headers instance-attribute

headers = headers or Headers()

content_type property

content_type

write async

write(data)
PARAMETER DESCRIPTION
data

TYPE: bytes

Source code in .venv/lib/python3.8/site-packages/starlette/datastructures.py
459
460
461
462
463
464
465
466
async def write(self, data: bytes) -> None:
    if self.size is not None:
        self.size += len(data)

    if self._in_memory:
        self.file.write(data)
    else:
        await run_in_threadpool(self.file.write, data)

read async

read(size=-1)
PARAMETER DESCRIPTION
size

TYPE: int DEFAULT: -1

Source code in .venv/lib/python3.8/site-packages/starlette/datastructures.py
468
469
470
471
async def read(self, size: int = -1) -> bytes:
    if self._in_memory:
        return self.file.read(size)
    return await run_in_threadpool(self.file.read, size)

seek async

seek(offset)
PARAMETER DESCRIPTION
offset

TYPE: int

Source code in .venv/lib/python3.8/site-packages/starlette/datastructures.py
473
474
475
476
477
async def seek(self, offset: int) -> None:
    if self._in_memory:
        self.file.seek(offset)
    else:
        await run_in_threadpool(self.file.seek, offset)

close async

close()
Source code in .venv/lib/python3.8/site-packages/starlette/datastructures.py
479
480
481
482
483
async def close(self) -> None:
    if self._in_memory:
        self.file.close()
    else:
        await run_in_threadpool(self.file.close)

validate classmethod

validate(v)
PARAMETER DESCRIPTION
v

TYPE: Any

Source code in esmerald/datastructures/base.py
59
60
61
62
63
@classmethod
def validate(cls: Type["UploadFile"], v: Any) -> Any:
    if not isinstance(v, StarletteUploadFile):
        raise ValueError(f"Expected UploadFile, got: {type(v)}")
    return v