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] <javascript:>>
>
>> 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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to