Your model says: db.define_table('*pdfs')* And you controller points to another table (db.*pdfDocs)*
Your controller should be *CONTROLLER CODE* def viewer(): row = db(db.*pdfs*.id <http://db.pdfdocs.id/> ==request.args(0)).select(db.*pdfs*.fileS).first() redirect(URL('static','pdfs',args=row.fileS)) Cheers. Chris. El vie., 1 de mar. de 2019 09:40, mostwanted <godirao...@gmail.com> escribió: > I am attempting Bruno's above code to display the saved PDF, i have > created a link in my index page that takes me to the viewer page but when i > click it i get an error message below: > > <type 'exceptions.AttributeError'> 'NoneType' object has no attribute > 'fileS' > * MODEL CODE:* > > db.define_table('pdfs', > > Field('fileS','upload',uploadfolder=request.folder+'static/pdfs')) > > > *CONTROLLER CODE* > def viewer(): > row = db(db.pdfDocs.id > ==request.args(0)).select(db.pdfDocs.fileS).first() > redirect(URL('static','pdfs',args=row.fileS)) > > > *VIEW CODE (index)* > > > > > *{{extend 'layout.html'}}{{=A('Click to view', _href=URL('default', > 'viewer'))}}*I changed the 'file' variable because it said its an "ALL" > reserved SQL/NOSQL keyword > What can i do to make this link redirect me without an error i'm getting?? > > Regards; > > Mostwanted > > On Tuesday, December 14, 2010 at 6:57:05 PM UTC+2, rochacbruno wrote: >> >> For security reasons, web2py does not expose the 'uploads' folder to the >> user, this folder can be accessed only by the 'download' function. >> >> You can do that: >> >> change the upload folder with 'uploadfolder' parameter. >> >> <model> >> db.define_table('pdfs', >> >> Field('file','upload',uploadfolder=request.folder+'static/pdfs') >> ) >> </model> >> >> Create a viewer function wich redirects the user direct to the file, >> then, if the user has adobe acrobat plugin to view the file in browser, >> this file will be shown in the browser, else, will be downloaded. >> >> <controller> >> def viewer(): >> row = db(db.pdfs.id==request.args(0)).select(db.pdfs.file).first() >> redirect(URL('static','pdfs',args=row.file)) >> </controller> >> >> Now you can call this as: >> >> http://127.0.0.1:8000/pdfs/default/viewer/3 #record id >> >> which redirects the user to: >> >> http://127.0.0.1:8000/pdfs/static/pdfs/pdfs.file.aaf5d3f7779841d0.6e65775f64616c5f68656c702e706466.pdf >> >> >> -- >> >> Bruno Rocha >> http://about.me/rochacbruno/bio >> >> >> 2010/12/14 azarkowsky <azark...@gmail.com> >> >>> In my web2py application I'm allowing users to upload PDF documents >>> (via an upload field) and then on another page I provide a download >>> link, however, I think because of the file renaming security feature >>> these PDF documents are truly being downloaded again (saved locally to >>> each user's desktop) instead of just displayed in a new browser window >>> as is the case with most other PDFs I encounter on other websites. Is >>> there any way to provide a link directly to a file that was uploaded >>> so the browser can display it without having to download the file >>> again? >>> >>> Thanks, >>> Adam >> >> >> >> >> >> -- > 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. > -- 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.