Tom*_*yer 5 python form-data flask
我想使用以下方法获取已上传照片的列表:photos = request.files.getlist("photo")。但是,如果我没有在浏览器中选择任何文件,则该photos值不会像其他字段一样为空。
我想通过执行以下操作检查是否没有提交文件:
if not photos:
pass
Run Code Online (Sandbox Code Playgroud)
FileStorage但即使没有提交文件,也总是有一个空对象:
request.files.getlist("photo")
[<FileStorage: '' ('application/octet-stream')>]
Run Code Online (Sandbox Code Playgroud)
为什么它在那里?如果列表不为空,如何检查是否没有上传文件?
request.files填充了客户端提交的任何内容。不幸的是,即使没有选择文件,浏览器也会提交文件输入,这看起来就像一个没有名称和数据的文件。有效的空文件不需要名称或数据,因此由应用程序决定要做什么。
FileStorageFalse如果没有名称,将予以考虑。Flask-WTF 将FileStorage没有名称的 a 视为空以进行验证。
photo = request.files["photo"]
if not photo:
# no photo
Run Code Online (Sandbox Code Playgroud)
photos = request.files["photo"].getlist()
if not photos or not any(f for f in photos):
# no photos
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2296 次 |
| 最近记录: |