Great, response.stream did it!
The exact code I end up using (in case someone else needs to get
around the 'no_table.XXX' file name scenario). Another reason I like
this approach (vs
http://mysite.com/my_app/my_cont/download/uploads/no_table.document.9b6546236b10.623456345667.png)
is the nonsensical file name on disk is never shown:
def document_download():
import os, base64, contenttype
stored_filename = get_filename_from_db() #returns something like
no_table.document.9b6546236b10.623456345667.png
filename = base64.b16decode(stored_filename.split('.')[3].upper())
response.headers['Content-Type'] =
contenttype.contenttype(filename)
response.headers['Content-Disposition'] = "attachment; filename=
%s" % filename
response.stream(os.path.join(request.folder, 'uploads',
stored_filename), request=request)
Thanks again, Anthony...