尝试使用python一次上传多个文件。 upload.html源代码如下:
<form name="frmRegister" method="post" accept-charset="utf-8" enctype="multipart/form-data" class="form-horizontal">
<div class="control-group">
<div class="controls">
<input type="file" name="files" multiple='multiple'>
</div>
</div>
<div class="control-group">
<div class="controls">
<input class="btn btn-primary" type="submit" name="btnSubmit" value="Add Product" />
</div>
</div>
</form>
在我的admin.py中:
@view_config(context="mycart:resources.Product", name="add", renderer='admin/mall/product/add.jinja2', permission = 'admin')
@view_config(context="mycart:resources.Product", name="add", request_method="POST", renderer='admin/mall/product/add.jinja2', permission = 'admin')
def product_add(context, request):
if 'btnSubmit' in request.POST:
print ("files >>> ", request.POST['files'])
在我的终端中,它只显示FieldStorage('files',u'DSC01973.JPG'),而我选择了'DSC01975.JPG','DSC01976.JPG'。
为什么会这样?
答案 0 :(得分:8)
我找到了一种方法来解决它,我相信还有很多其他的,如果有的话,请随时大声说出来:
fileslist = request.POST.getall('files')
print ("My files listing: ", fileslist)
for f in fileslist:
print ( "individual files: ", f )
答案 1 :(得分:0)
我可以使用以下功能解决问题:
from cgi import FieldStorage
def get_all_file_data_list(request):
return [x for x in request.POST.values() if isinstance(x, FieldStorage)]