Hello! turns out that i've not handled it well from the server, so in
changed my approach to this and worked flawlessly:
In the view:
<div id="tabs-4"> <div id="cargaFotos" class="row"> <div
id="web2py_user_form" class="col-lg-9"> <div class="form-group">
<div><label class="control-label col-sm-3">{{=T('Archivo')}}
#1</label></div> <div class="col-sm-9"><input type="file"
name="foto_1" /></div> </div> </div> <div
id="web2py_user_form" class="col-lg-9"> <div class="form-group">
<div><label class="control-label col-sm-3">{{=T('Descripción')}}
#1</label></div> <div class="col-sm-9"><input type="text"
name="descripcion_1" /></div> </div> </div> </div> <div
id="añadirCamposFotos"><a href="#" id="addFld">Añadir otra foto</a></div>
</div>
The "añadir otra foto" button adds another field, with the formar foto_X
descripcion_x where X is a consecutive number.
Later in the controller i do this:
if var.startswith('foto_') and request.vars[var] != '':
uploaded = request.vars[var] descName = var.replace('foto',
'descripcion') descripcion = request.vars[descName]
db.hoteles_fotos.insert( fk_hotel_id=id,
descripcion=descripcion,
ruta=db.hoteles_fotos.ruta.store(uploaded.file, uploaded.filename))
El jueves, 13 de agosto de 2015, 13:25:06 (UTC-4:30), Val K escribió:
>
> Hi!
> It seems, that your view has no form-tag (i.e. <form ... ) and no
> submit-button ... so, I suppose, it doesn't send anything at all! But
> may be there are some mega-cool-js-hidden-magic? How it works?
> And if it works web2py couldn't process request.vars with name like
> "file[1]", because request.vars is Storage-object (not array or list!) and
> provide dot-property-notation access, so request.vars.file[1] -
> inadmissible
>
>
> On Wednesday, August 12, 2015 at 11:36:43 PM UTC+3, Luis Valladares wrote:
>>
>> Hello!
>>
>> I'm trying to create a form in order to upload multiple files with
>> description for each file, i've something like this:
>>
>> View:
>> <div id="cargaFotos" class="row">
>> <div id="web2py_user_form" class="col-lg-9">
>> <div class="form-group">
>> <div><label class="control-label
>> col-sm-3">{{=T('Archivo')}}</label></div>
>> <div class="col-sm-9"><input type="file" name="file[0]" /></div>
>> </div>
>> </div>
>> <div id="web2py_user_form" class="col-lg-9">
>> <div class="form-group">
>> <div><label class="control-label
>> col-sm-3">{{=T('Descripción')}}</label></div>
>> <div class="col-sm-9"><input type="text" name="description[0]"
>> /></div>
>> </div>
>> </div>
>> <div id="web2py_user_form" class="col-lg-9">
>> <div class="form-group">
>> <div><label class="control-label
>> col-sm-3">{{=T('Archivo')}}</label></div>
>> <div class="col-sm-9"><input type="file" name="file[1]" /></div>
>> </div>
>> </div>
>> <div id="web2py_user_form" class="col-lg-9">
>> <div class="form-group">
>> <div><label class="control-label
>> col-sm-3">{{=T('Descripción')}}</label></div>
>> <div class="col-sm-9"><input type="text" name="description[1]"
>> /></div>
>> </div>
>> </div>
>> <div id="web2py_user_form" class="col-lg-9">
>> <div class="form-group">
>> <div><label class="control-label
>> col-sm-3">{{=T('Archivo')}}</label></div>
>> <div class="col-sm-9"><input type="file" name="file[2]" /></div>
>> </div>
>> </div>
>> <div id="web2py_user_form" class="col-lg-9">
>> <div class="form-group">
>> <div><label class="control-label
>> col-sm-3">{{=T('Descripción')}}</label></div>
>> <div class="col-sm-9"><input type="text" name="description[2]"
>> /></div>
>> </div>
>> </div>
>> </div>
>>
>> Controller:
>> for archivo, descripcion in zip(form.vars.file, form.vars.description):
>> db.fotos.insert(
>> fk_id=id, descripcion=descripcion, ruta=archivo)
>>
>> But when i send this form i get this error: "<type
>> 'exceptions.TypeError'> zip argument #1 must support iteration"
>>
>> any suggestion? Thanks a lot for your help!
>>
>>
>>
>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.