Massimo Thank you.
On Friday, December 2, 2016 at 5:18:51 PM UTC-5, Massimo Di Pierro wrote: > > 1. I do not now. that is outside of web2py control. it is controlled by > the browser > 2. you can just use > > form = SQLFORM.factory(Field('myfile','upload')).process() > > and then if form.accepted: > > request.vars.myfile.file.seek(0) > data = request.vars.myfile.file.read() > > > > > On Thursday, 1 December 2016 09:15:25 UTC-6, Kenwyn Pilgrim wrote: >> >> Massimo >> >> Thanks. This works. Just 2 follow-up questions. >> >> >> 1. Why does the *Choose File* button continue to say *No file chosen*? >> (The form submits though, with no validation errors) >> >> 2. Can this be done with *SQLFORM.factory *instead of *SQLFORM*? >> Meaning that when I set the defaults, including setting the data for >> field >> that represents the upload file, I expect that if I hit the submit button >> as my first action, validation should be passed. What happens instead is >> that a validation error occurs that makes it seem that a file had not >> been >> had not been chosen. >> >> (*I noticed the online book (6th edition) does not have any info under >> the section Uploading Files with >> SQLFORM.factory.(http://www.web2py.com/book/default/chapter/07#Uploading-files-with-SQLFORMfactory >> >> <http://www.web2py.com/book/default/chapter/07#Uploading-files-with-SQLFORMfactory>)* >> ) >> >> On Friday, November 25, 2016 at 11:17:51 PM UTC-5, Massimo Di Pierro >> wrote: >> >>> You are you doing this: >>> >>> if edit_mode: >>> >>> id = int(request.args[0]) >>> >>> q = db.upload_file.id == id >>> >>> rows = db(q).select() >>> >>> for row in rows: >>> >>> for field in row: >>> >>> if field in db.upload_file.fields: >>> >>> db.upload_file[field].default = row[field] >>> >>> >>> >>> ... >>> >>> form = SQLFORM.factory(db.upload_file, fields=fields, >>> >>> submit_button=T('Add to Print Queue') if not >>> edit_mode else T('Update Queue'), >>> >>> upload=URL('download')) >>> >>> Instead of >>> >>> button = T('Add to Print Queue') if not edit_mode >>> else T('Update Queue') >>> form = SQLFORM(db.upload_file, >>> request.args(0,cast=int,default=0), >>> upload=URL('download'), >>> submit_button=button).process() >>> >>> >>> On Monday, 21 November 2016 09:42:54 UTC-6, Kenwyn Pilgrim wrote: >>>> >>>> I too have this issue with using SQLFORM.factory to edit. >>>> >>>> My model looks like: >>>> >>>> db.define_table('upload_file', >>>> >>>> Field('doc_type', 'reference document_type', >>>> required=True, label=T('Type')), >>>> >>>> Field('pdf_name', 'upload', label=T('PDF Document'), >>>> >>>> uploadfolder=os.path.join(request.folder, 'uploads', >>>> 'user_data')),...) >>>> >>>> >>>> my controller looks like: >>>> >>>> ... >>>> >>>> >>>> edit_mode = len(request.args) > 0 >>>> >>>> if edit_mode: >>>> >>>> id = int(request.args[0]) >>>> >>>> q = db.upload_file.id == id >>>> >>>> rows = db(q).select() >>>> >>>> for row in rows: >>>> >>>> for field in row: >>>> >>>> if field in db.upload_file.fields: >>>> >>>> db.upload_file[field].default = row[field] >>>> >>>> >>>> >>>> ... >>>> >>>> form = SQLFORM.factory(db.upload_file, fields=fields, >>>> >>>> submit_button=T('Add to Print Queue') if not >>>> edit_mode else T('Update Queue'), >>>> >>>> upload=URL('download')) >>>> >>>> ... >>>> >>>> >>>> If I am in edit mode and hit the "Update Queue" button, I get the >>>> validation error "Please select a file", even though I have prepopulated >>>> the defaults. >>>> >>>> I have to click the "Choose File" button to select a file *again, *then it >>>> works. >>>> >>>> >>>> Please help. >>>> >>>> Thanks. >>>> >>>> >>>> On Saturday, April 6, 2013 at 11:22:32 AM UTC-5, Massimo Di Pierro >>>> wrote: >>>>> >>>>> what are the models? >>>>> >>>>> On Tuesday, 2 April 2013 12:19:12 UTC-5, Ramos wrote: >>>>>> >>>>>> Back to business after almost 2 months i try again to use >>>>>> sqlform.factory to create and edit documents >>>>>> My problem was to generate the link >>>>>> i rearranged my code as follows >>>>>> >>>>>> >>>>>> #if edit a document >>>>>> if request.args(0): >>>>>> >>>>>> row=db((db.trabalhador.id==request.args(0))).select().first() >>>>>> >>>>>> empresa=row.empresa >>>>>> >>>>>> foto=row['foto'] or None >>>>>> #print foto >>>>>> if row: >>>>>> for field in row: >>>>>> >>>>>> if field in db.trabalhador.fields: >>>>>> #POPULATE FIELDS with record to edit >>>>>> db.trabalhador[field].default=row[field] >>>>>> >>>>>> form=SQLFORM.factory(db.trabalhador,db.t_docs, >>>>>> submit_button="Gravar", >>>>>> >>>>>> fields=['nome','bi','ncart','ncartval','rfid','apt_medica','apt_medicaval','val_formacao','f_doc'], >>>>>> table_name='trabalhador', >>>>>> upload=URL('download') >>>>>> ) >>>>>> >>>>>> I see my record and upload fields with [file] link. The [file] link >>>>>> downloads my uploaded file. >>>>>> My upload fields have required= true in db.py!!! >>>>>> I do nothing and just press save >>>>>> >>>>>> I get the error saying that i have to select a file to my upload >>>>>> field. >>>>>> >>>>>> I´m stuck >>>>>> >>>>>> Help please..... >>>>>> >>>>> -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.