A file uploaded in a request.
Define it as a path operation function (or dependency) parameter.
If you are using a regular def function, you can use the upload_file.file
attribute to access the raw standard Python file (blocking, not async), useful and
needed for non-async code.
Attributes
| Attribute | Type | Description |
|---|
| file | BinaryIO | The standard Python file object (non-async). |
| filename | `str | None` |
| size | `int | None` |
| headers | Headers | The headers of the request. |
| content_type | `str | None` |
Methods
write()
@classmethod
def write(
data: bytes
) - > None
Write some bytes to the file. You normally wouldn't use this from a file you read in a request. To be awaitable, compatible with async, this is run in threadpool.
Parameters
| Name | Type | Description |
|---|
| data | bytes | The bytes to write to the file. |
Returns
read()
@classmethod
def read(
size: int = -1
) - > bytes
Read some bytes from the file. To be awaitable, compatible with async, this is run in threadpool.
Parameters
| Name | Type | Description |
|---|
| size | int = -1 | The number of bytes to read from the file. |
Returns
seek()
@classmethod
def seek(
offset: int
) - > None
Move to a position in the file. Any next read or write will be done from that position. To be awaitable, compatible with async, this is run in threadpool.
Parameters
| Name | Type | Description |
|---|
| offset | int | The position in bytes to seek to in the file. |
Returns
close()
@classmethod
def close() - > None
Close the file. To be awaitable, compatible with async, this is run in threadpool.
Returns