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
418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 |
|
read 异步
¶
read(size=-1)
从文件中读取一些字节。
为了可等待,兼容异步,这在线程池中运行。
参数 | 描述 |
---|---|
size
|
要从文件中读取的字节数。
类型: |
源代码在 fastapi/datastructures.py
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
|
write 异步
¶
write(data)
向文件中写入一些字节。
您通常不会在请求中读取的文件中使用此方法。
为了可等待,兼容异步,这在线程池中运行。
参数 | 描述 |
---|---|
data
|
要写入文件的字节。
类型: |
源代码在 fastapi/datastructures.py
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|
seek 异步
¶
seek(offset)
移动到文件中的某个位置。
任何下一次读取或写入都将从该位置开始。
为了可等待,兼容异步,这在线程池中运行。
参数 | 描述 |
---|---|
offset
|
要在文件中查找的字节位置。
类型: |
源代码在 fastapi/datastructures.py
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
|
close 异步
¶
close()
关闭文件。
为了可等待,兼容异步,这在线程池中运行。
源代码在 fastapi/datastructures.py
131 132 133 134 135 136 137 |
|