我有4个文件输入和4个文本输入的表单
表单图像:
HTML代码:
<form action="{{ url_for('Test.Test') }}" method="POST" enctype=multipart/form-data >
<input type="file" name="Image"/>
<input type="text" name="Name"/><br/>
<input type="file" name="Image"/>
<input type="text" name="Name"/><br/>
<input type="file" name="Image"/>
<input type="text" name="Name"/><br/>
<input type="file" name="Image"/>
<input type="text" name="Name"/><br/>
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<input type="submit"/>
</form>
我只填写3/4个文件输入和所有文本输入
当我尝试使用以下代码处理此表单时:
GetFiles = request.files.getlist('Image')
Name = request.form.getlist('Name')
for x, y in zip(GetFiles, Name):
print x, y
预期结果:
<FileStorage: u'1.jpeg' ('image/jpeg')> 1
<FileStorage: u'2.jpeg' ('image/jpeg')> 2
None 3
<FileStorage: u'3.jpeg' ('image/jpeg')> 4
但我知道:
<FileStorage: u'1.jpeg' ('image/jpeg')> 1
<FileStorage: u'2.jpg' ('image/jpeg')> 2
<FileStorage: u'3.jpeg' ('image/jpeg')> 3
感谢您的回答
答案 0 :(得分:0)
最重要的是:GetFiles
有3个元素(因为只选择了3个文件),Name
有4个元素。 Python zip doc说:
最短的可迭代输入耗尽时,迭代器停止。
您您知道哪个“图像”与哪个“文本”一起使用,但是计算机却不知道。一种方法:
name="Image-1"
。Names
并“获取”附带的图像
该名称(例如request.files.get('Image-'+{index})
get()
将返回None
range(len(Names))
将被索引为0。