I get the same result with the posted function, albeit your nuances
appreciated.
To be thorough, I'll repost the updated function.
def download_that():
import zipfile
import cStringIO
import contenttype as c
vars = request.vars
tempfile = cStringIO.StringIO()
temparchive = zipfile.ZipFile(tempfile, 'w', zipfile.ZIP_DEFLATED)
fileIDs = vars.values()
try:
for file_id in fileIDs:
file = db.files[file_id].file
fileLoc = db.files.file.retrieve_file_properties(file)['path']
+ '/' + file
temparchive.writestr(db.files[file_id].file_name, open(fileLoc,
'rb').read())
finally:
temparchive.close() #writes
response.headers['Content-Disposition'] =
'attachment;filename=files.zip'
response.headers['Content-Type'] = 'application/zip'
rtn = tempfile.getvalue()
tempfile.close()
return rtn
--
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.