You can also mount the directory you want you file in into web2py folder with bindfs...
Or saying it differently mount a directory to another location... https://bindfs.org/ But I think it would be only working with linux. Good luck Richard On Mon, Jan 15, 2018 at 11:22 AM, Anthony <[email protected]> wrote: > First, consider whether you really need a separate upload folder for each > vertexID. The DAL already generates a unique filename for each upload, and > the filename is stored in the database record, so you can always find the > file by looking up the record. > > If you need the separate folders, though, consider setting the upload > folder with the model definition so you don't need to specify it separately > in the SQLFORM action and so it will be easier to make use of the built-in > response.download function: > > IMAGE_FOLDER = os.path.join('/', 'Users', 'me', 'Documents') > > db.define_table('mytable', > Field('image', 'upload', uploadfolder=os.path.join(IMAGE_FOLDER, > 'vertexID%s' % session.vertexID), > ...) > > Note, the folder path will end with "vertexIDNone" when there is no > session.vertexID, but presumably that will not be an issue, as you should > not be doing any uploads/downloads when there is no session.vertexID. > > With the above change, you can then change the download function to the > standard: > > def download(): > return response.download(request, db) > > Anthony > > On Monday, January 15, 2018 at 4:41:58 AM UTC-5, Annet wrote: >> >> Hi Anthony, >> >> Thanks for your reply. >> >> After reading the parts on download() in chapter 7 and 9 I wrote the >> following functions >> to run locally: >> >> def logo(): >> vertexID = session.vertexID >> >> table.vertexID.default = vertexID >> folder = 'vertexID' + str(vertexID) >> table.image.uploadfolder = os.path.join('/Users/me/Documents/' + >> folder) >> >> record = table(vertexID=vertexID) >> >> form = SQLFORM(table, record, deletable=True, showid=False, >> upload=URL('image_download', args=request.vars.image)) >> >> if form.process().accepted: >> if record and form.vars.image__delete: >> file = record.image >> os.remove(os.path.join('/Users/me/Documents/' + folder, >> file)) >> elif form.errors: >> get_flash(response, None, 'danger', 'error') >> elif not response.flash: >> get_flash(response, None, 'info', 'custom') >> >> return dict(form=form) >> >> def image_download(): >> folder = 'vertexID' + str(session.vertexID) >> file_path = os.path.join('/Users/me/Documents/' + folder + '/') >> return response.stream(open(file_path + request.args(0))) >> >> >> Are there any improvements to make to this code? >> >> >> Kind regards, >> >> Annet >> >> -- > 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. > -- 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.

