【问题标题】:How to set the file multiple file upload field as an Optional field in FastAPI如何在 FastAPI 中将文件多文件上传字段设置为可选字段
【发布时间】:2021-01-08 10:37:56
【问题描述】:
from typing import List

from fastapi import FastAPI, File, UploadFile
from fastapi.responses import HTMLResponse

app = FastAPI()


@app.post("/files/")
async def create_files(files: List[bytes] = File(...)):
    return {"file_sizes": [len(file) for file in files]}


@app.post("/uploadfiles/")
async def create_upload_files(files: List[UploadFile] = File(...)):
    return {"filenames": [file.filename for file in files]}

我需要将多文件上传字段作为可选字段 文档有上述代码,但没有详细说明如何将“FileUpload”字段设为可选字段。

【问题讨论】:

    标签: python-3.x fastapi


    【解决方案1】:

    您可以使用None 代替... (省略号) 来创建字段Optional

    这是一个Optional 字段。

    from typing import Optional
    
    files: Optional[List[bytes]] = File(None)
    

    这是一个必填字段。

    files: List[bytes] = File(...)
    

    适用于您的案例。

    from typing import List, Optional
    
    from fastapi import FastAPI, File, UploadFile
    from fastapi.responses import HTMLResponse
    
    app = FastAPI()
    
    
    @app.post("/files/")
    async def create_files(files: Optional[List[bytes]] = File(None)):
        return {"file_sizes": [len(file) for file in files]}
    
    
    @app.post("/uploadfiles/")
    async def create_upload_files(files: Optional[List[UploadFile]] = File(None)):
        return {"filenames": [file.filename for file in files]}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 2016-11-10
      • 2022-01-21
      相关资源
      最近更新 更多