gpt4 book ai didi

python - 当字段未提交时,Flask 的 request.files.getlist 不为空

转载 作者:太空宇宙 更新时间:2023-11-03 20:28:59 30 4
gpt4 key购买 nike

我想使用以下方法获取已上传照片的列表:photos = request.files.getlist("photo")。但是,如果我没有在浏览器中选择任何文件,则 photos 值不会像其他字段一样为空。

我想检查是否没有文件提交:

if not photos:
pass

但即使没有提交文件,也总是有一个空的 FileStorage 对象:

request.files.getlist("photo")
[<FileStorage: '' ('application/octet-stream')>]

为什么会在那里?如果列表不为空,如何检查是否没有上传文件?

最佳答案

request.files 填充有客户端提交的任何内容。不幸的是,即使没有选择文件,浏览器也会提交文件输入,这看起来就像一个没有名称和数据的文件。有效的空文件不需要名称或数据,因此由应用程序决定要做什么。

FileStorage 如果没有名称,将被视为 False。 Flask-WTF 将没有名称的 FileStorage 视为空进行验证。

photo = request.files["photo"]

if not photo:
# no photo
photos = request.files["photo"].getlist()

if not photos or not any(f for f in photos):
# no photos

关于python - 当字段未提交时,Flask 的 request.files.getlist 不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57641300/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com