我正在尝试使用文件上传用户数据。我想做这样的事情,验证用户数据并附加文件
class User(BaseModel):
user: str
name: str
@router.post("/upload")
async def create_upload_file(data: User, file: UploadFile = File(...)):
print(data)
return {"filename": file.filename}
Run Code Online (Sandbox Code Playgroud)
但它不起作用错误:无法处理的实体响应正文:
{
"detail": [
{
"loc": [
"body",
"data"
],
"msg": "value is not a valid dict",
"type": "type_error.dict"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但如果我将 url 全部工作分开:
class User(BaseModel):
user: str
name: str
@router.post("/d")
async def create(file: UploadFile = File(...)):
return {"filename": file.filename}
@router.post("/")
def main(user: User):
return user
Run Code Online (Sandbox Code Playgroud)
如何将所有内容结合在一起?