Hi!
I'm using Web2py to build a desktop application that will run on the user's computer using the localhost. An use case involves the user uploading a large number of files (about 100-200 files ranging from 5 to 30 MB) MB each. Here is a simplified chuck of code I'm using:
########################
Model:
Campos_Archivo_grabadora = [
Field('archivo_nombre_original',required=True),
Field('archivo','upload', autodelete=True,required=True),
]
db.define_table('Archivo_grabadora',*Campos_Archivo_grabadora,
singular='Archivo grabadora', plurals='Archivos grabadoras')
Controller:
forma = FORM(INPUT(_name='archivos_audibles', _type='file', _multiple=True,
requires=IS_NOT_EMPTY()))
if forma.accepts(request.vars,formname='formaHTML'):
archivosAudibles = forma.vars['archivos_audibles']
if not isinstance(archivosAudibles, list):
archivosAudibles = [archivosAudibles]
for aux in archivosAudibles:
ArchivoAudible = db.Archivo_grabadora.archivo.store(aux, aux.filename)
datosArchivoAudible = {}
datosArchivoAudible['archivo'] = ArchivoAudible
datosArchivoAudible['archivo_nombre_original'] = aux.filename
db.Archivo_grabadora.insert(**datosArchivoAudible)
View:
<form action="" enctype="multipart/form-data" method="post">
<input type="hidden" name="_formname" value="formaHTML"/>
<input type="file" name="archivos_audibles" multiple/>
<input type="submit" value="Enviar" class="btn" id="enviar"/>
</form>
However, my application does not seem to handle this correctly: spends a lot of time and cpu resources, and sometimes freezes. I would like to know how to solve this issue. Thank you!