I apologize for that oversight, i fixed my controller to:
def viewer():
row = db(db.pdfs.id==request.args(0)).select(db.pdfs.fileS).first()
redirect(URL('static','pdfs',args=row.fileS))
I figured out my mistake, i didnt have a function that called the database
details so my link had an args argumente
On Friday, March 1, 2019 at 2:51:18 PM UTC+2, Chris V. wrote:
>
> 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 <[email protected]
> <javascript:>> 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 <[email protected]>
>>>
>>>> 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 [email protected] <javascript:>.
>> 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.