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: DataUpload

Adding pydantic specific functionality for parsing.

PARAMETER DESCRIPTION
file

TYPE: SpooledTemporaryFile

size

TYPE: int | None DEFAULT: None

filename

TYPE: str | None DEFAULT: None

headers

TYPE: Header | None DEFAULT: None

Source code in lilya/datastructures.py
720
721
722
723
724
725
726
727
728
729
730
731
def __init__(
    self,
    *,
    file: anyio.SpooledTemporaryFile,
    size: int | None = None,
    filename: str | None = None,
    headers: Header | None = None,
) -> None:
    self.filename = filename
    self.size = size
    self.headers = headers or Header()
    self.file = file

filename instance-attribute

filename = filename

size instance-attribute

size = size

headers instance-attribute

headers = headers or Header()

file instance-attribute

file = file

content_type property

content_type

write async

write(data)
PARAMETER DESCRIPTION
data

TYPE: bytes

Source code in lilya/datastructures.py
737
738
739
740
async def write(self, data: bytes) -> None:
    if self.size is not None:
        self.size += len(data)
    await self.file.write(data)

read async

read(size=-1)
PARAMETER DESCRIPTION
size

TYPE: int DEFAULT: -1

Source code in lilya/datastructures.py
742
743
async def read(self, size: int = -1) -> bytes:
    return cast(bytes, await self.file.read(size))

seek async

seek(offset)
PARAMETER DESCRIPTION
offset

TYPE: int

Source code in lilya/datastructures.py
745
746
async def seek(self, offset: int) -> None:
    await self.file.seek(offset)

close async

close()
Source code in lilya/datastructures.py
748
749
async def close(self) -> None:
    await self.file.aclose()

validate classmethod

validate(v)
PARAMETER DESCRIPTION
v

TYPE: Any

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