You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI无法接收多文件列表,单文件正常问题排查

问题原因与解决办法

你的代码中FastAPI没有正确识别List[UploadFile]类型的参数为多文件上传字段,导致Swagger UI生成了普通字符串输入框而非文件选择器,具体原因和解决方式如下:

可能的原因及修复方案

1. 缺少FastAPI实例化

确保代码开头创建了FastAPI实例,否则路径操作函数不会被正确注册:

from fastapi import FastAPI, File, UploadFile, HTTPException
from pathlib import Path
from typing import List

app = FastAPI()  # 这一行是核心,不能遗漏

@app.post("/uploadfile/")
def create_upload_file(file: List[UploadFile] = File(...)):
    # 添加文件处理逻辑,比如保存文件或返回文件名列表
    return {"uploaded_files": [f.filename for f in file]}

2. FastAPI版本过低

部分旧版本FastAPI对List[UploadFile]的表单解析支持不完善,建议升级到最新稳定版:

pip install --upgrade fastapi uvicorn

3. 参数声明细节问题

确保参数类型注解严格为List[UploadFile],且默认值为File(...)(不要省略...,也不要添加多余参数)。虽然参数名可以是任意合法名称,但使用复数形式(比如files)更符合语义,不过这不是功能必需的。

验证方法

完成上述修复后,重启服务,访问默认Swagger UI地址http://localhost:8000/docs,此时/uploadfile/接口会显示支持多文件选择的上传框。

内容的提问来源于stack exchange,提问作者Woobin Jang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 16:18:09