I'm trying to export some files generated from my application. I'm creating a zip file with the file in directly (using Python) and the zip file is created fine. Then I want to upload that file to the DB to allow them to download it from the uploads directory. The code snippet below works fine and a file is uploaded, but the file is corrupted (it has just a few hundred byeted in it.
db.py db.define_table("exportitem", SQLField("org_id", db.organisations, notnull=True, writable=False, default=session.org_id), SQLField("app_id", "integer", default=session.app_id, notnull=True), SQLField("proj_id", "integer", default=session.proj_id, notnull=True), SQLField("title", "string", length=50, notnull=True, label="Title"), SQLField("created", "datetime", notnull=True, default=datetime.today(), label="Created", writable=False), SQLField("created_by", db.auth_user, notnull=True, default=session.user_id, writable=False), SQLField("exportfile", "upload", notnull=True), migrate=migrate,fake_migrate=fake_migrate) testzip() fname=''.join((str(session.org_id),str(datetime.today()))) my_crypt = CRYPT(key=auth.settings.hmac_key) zname = ''.join((my_crypt(fname)[0],'.zip')) zfile='/'.join((request.env.web2py_path,'applications',request.application,'temp',zname)) # # # # # now store the file in the database. # zid=db.exportitem.insert(title='testing the zip file generator',exportfile=db.exportitem.exportfile.store(open(zfile,'rb')))