Hi Anthony, Thanks for the help.
The download_path variable doesn't change regardless of whether the download() function includes, or is passed, the 'download_filename' arg. Indeed, the file downloads successfully when the download function is the default, ie - def download(): return response.download(request, db) ..and when download() is called with just this one arg - <td>{{=A('Download', _href=URL('default', 'download', args=download_path))}}</td> When I added the second parameter to the call to download()- <td>{{=A('Download w title', _href=URL('default', 'download', args=[download_path, 'new_title']))}}</td> ..I changed the download() function in the default controller to this- def download(): return response.download(request, db, attachment=True, download_filename=request.args(1)) The db field from the model looks like this- Field('file', 'upload', length=128, autodelete=True, requires=IS_NOT_EMPTY()), It might be most telling to show the links that are generated in the view.. the [working] link for - <td>{{=A('Download', _href=URL('default', 'download', args=download_path))}}</td> ..looks like: http://127.0.0.1:8000/test_app/default/download/main_db.file.b36e427143f2c727.64633532346236612d373033622d343235352d383330302d616362613637366136396262.txt And the link for - <td>{{=A('Download w title', _href=URL('default', 'download', args=[download_path, 'new_title']))}}</td> ..looks like: http://127.0.0.1:8000/test_app/default/download/main_db.file.b36e427143f2c727.64633532346236612d373033622d343235352d383330302d616362613637366136396262.txt/new_title The latter generates the 404 error. As you can see, when I add the 'download_filename' arg, a new path is generated with the desired filename appended to the path, which doesn't seem to make sense. Thanks again for your help. Let me know if there is any more info I can provide. Cheers, jl On Tuesday, October 15, 2013 8:21:42 PM UTC-7, Anthony wrote: > > We need to see more code -- maybe your model and the code that generates > the value of download_path. response.download() will return a 404 if the > filename is not of the right format, it can't find the table/field, or it > can't retrieve the file. > > Anthony > > On Tuesday, October 15, 2013 10:06:45 PM UTC-4, Jordan Ladora wrote: >> >> Ha! Thanks for that.. I upgraded to 2.7.4. but get 404 not found when I >> use Anthony's code.. >> >> in the view- >> >> <td>{{=A('Download', _href=URL('default', 'download', >> args=download_path))}}</td> >> <td>{{=A('Download w title', _href=URL('default', 'download', >> args=[download_path, 'new_title']))}}</td> >> >> >> in default.py- >> >> @auth.requires_login() >> def download(): >> """ >> allows downloading of uploaded files >> http://..../[app]/default/download/[filename] >> """ >> ## response.download(self, request, db, chunk_size=DEFAULT_CHUNK_SIZE, >> attachment=True, download_filename=None): >> return response.download(request, db, >> download_filename=request.args(1)) >> >> >> ...hopefully there is something else silly that i am doing wrong here...? >> >> Thanks, >> jl >> >> >> On Tuesday, October 15, 2013 3:01:49 PM UTC-7, Niphlod wrote: >>> >>> You're using an old version of web2py :D >>> >>> On Tuesday, October 15, 2013 11:40:55 PM UTC+2, Jordan Ladora wrote: >>>> >>>> Err.. I get an unknown parameter error for the 'download_filename' .. >>>> looking into globals.py I see >>>> >>>> def download(self, request, db, chunk_size=DEFAULT_CHUNK_SIZE, >>>> attachment=True): >>>> >>>> so I'm not sure about where this parameter goes(?) >>>> >>>> Thanks, >>>> -j >>>> >>>>> >>>>> -- 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/groups/opt_out.