UploadFile
类¶
您可以将 路径操作函数 参数定义为 UploadFile
类型,以接收请求中的文件。
你可以直接从 fastapi
导入它
from fastapi import UploadFile
fastapi.UploadFile ¶
UploadFile(file, *, size=None, filename=None, headers=None)
基类: UploadFile
请求中上传的文件。
将其定义为 路径操作函数(或依赖项)参数。
如果您使用常规的 def
函数,可以使用 upload_file.file
属性访问原始的标准 Python 文件(阻塞的,非异步),这对于非异步代码很有用且是必需的。
在 FastAPI 关于请求文件的文档中了解更多信息。
示例¶
from typing import Annotated
from fastapi import FastAPI, File, UploadFile
app = FastAPI()
@app.post("/files/")
async def create_file(file: Annotated[bytes, File()]):
return {"file_size": len(file)}
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile):
return {"filename": file.filename}
源代码在 starlette/datastructures.py
中
414 415 416 417 418 419 420 421 422 423 424 425 |
|
read async
¶
read(size=-1)
从文件中读取一些字节。
为了可等待并与异步兼容,这将在线程池中运行。
参数 | 描述 |
---|---|
size
|
要从文件中读取的字节数。
类型: |
源代码在 fastapi/datastructures.py
中
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
|
write async
¶
write(data)
向文件中写入一些字节。
您通常不会从请求中读取的文件来使用此功能。
为了可等待并与异步兼容,这将在线程池中运行。
参数 | 描述 |
---|---|
data
|
要写入文件的字节。
类型: |
源代码在 fastapi/datastructures.py
中
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|
seek async
¶
seek(offset)
移动到文件中的某个位置。
任何后续的读取或写入都将从该位置开始。
为了可等待并与异步兼容,这将在线程池中运行。
参数 | 描述 |
---|---|
offset
|
在文件中要定位的字节位置。
类型: |
源代码在 fastapi/datastructures.py
中
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
|
close async
¶
close()
关闭文件。
为了可等待并与异步兼容,这将在线程池中运行。
源代码在 fastapi/datastructures.py
中
133 134 135 136 137 138 139 |
|