我想从图片上传器收到多个文件帖子。(i use this) 大多数示例显示如何从帖子接收一个图像。
我尝试了很多方法,但从未得到过结果。 例如
self.request.POST['Filename']
只提供第一个文件名。
发布时有多个文件/图片时该怎么办?
这样做的原因是在上传图片之前调整大小,这对于Google应用引擎来说太大了 上传。
编辑:
self.request.POST.multi.__dict__
显示
{'_items':
[('Filename', 'camila1.jpg'),
('Filedata[]', FieldStorage('Filedata[]', 'camila1.jpg')),
('Upload', 'Submit Query\r\n--negpwjpcenudkacqrxpleuuubfqqftwm----negpwjpcenudkacqrxpleuuubfqqftwm\r\nContent-Disposition: form-data; name="Filename"\r\n\r\nbornToBeWild1.jpg'),
('Filedata[]', FieldStorage('Filedata[]', 'bornToBeWild1.jpg')),
('Upload', 'Submit Query')]}
答案 0 :(得分:3)
你的flash上传程序设计用于PHP并发送多个Filedata []字段(php将其解释为数组以便于访问)
所以你需要迭代并全部完成它们:
def post(self):
for file_data in self.request.POST.getall('Filedata[]'):
logging.info(file_data.filename)
数据应为file_data.value
答案 1 :(得分:1)
您使用的是Django库吗?如果是,check this out。
答案 2 :(得分:1)
调用self.request.POST.getall('Filename')以获取FieldStorage对象列表;每个包含一个文件。您可以使用.value访问文件数据,使用.name访问文件数据,使用.type访问mimetype。
答案 3 :(得分:0)
我不知道多重上传器是如何工作的,但是我在过去做了一个,我只是在输入字段名称的末尾添加了一个数字,然后隐藏它。然后添加新文件输入字段以添加另一个文件。这样做的原因是它们不允许您使用输入文件字段,因为您可以上传它们不希望您上传的文件。
使用我的约定,在您的示例中,示例中的2个文件将是“Filename0”和“Filename1”。您还可以使用firebug来查看将输入文件字段重命名为的内容。
编辑:我看了一下,它正在使用闪光灯。所以我不知道它是如何运作的。