Azure Functions(Python)多文件上传计数异常:仅读取首个文件
Azure Functions Python 多文件上传计数异常的解决办法
核心原因
问题源于两个关键点:Postman的上传格式错误,以及代码对多文件的读取逻辑不正确。
1. Postman上传配置错误
如果在Postman中给每个上传文件设置了不同的表单字段名,req.files.values()只会遍历每个字段对应的单个文件,最终只能读取到第一个文件。
正确操作:
- 切换到Postman的
Body标签,选择form-data类型 - 创建统一的字段名(比如
files),类型选择File - 点击该字段右侧的
+按钮,添加多个文件条目,所有条目都使用同一个字段名files
2. 代码读取逻辑错误
Azure Functions的Python运行时基于Flask框架,当多个文件通过同一个表单字段上传时,req.files.values()只会返回每个字段的最后一个文件,而非全部。需要使用getlist()方法获取同名字段下的所有文件列表。
修改后的代码:
# 替换成你在Postman中使用的表单字段名,比如'files' uploaded_files = req.files.getlist('files') logging.info('上传文件总数: %d' % len(uploaded_files)) for input_file in uploaded_files: filename = input_file.filename logging.info('文件名: %s' % filename)
验证步骤
- 确认Postman中所有文件的表单字段名完全一致
- 部署修改后的代码,重新上传多文件测试计数
内容的提问来源于stack exchange,提问作者Svj
相关产品推荐
相关产品推荐

