When the file is uploaded using the BlobUploadHandler
the original filename is stored as name property in the newly created BlobInfo
entity.
In the blob serve handler, you can specify that the blob should be returned as download attachment, and you can specify with what name should it be saved with
from google.appengine.ext import webapp
import urllib
class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, blob_info_key=None):
blob_info_key = str(urllib.unquote(blob_info_key))
blob_info = retrieve_blob_info(blob_info_key)
self.send_blob(blob_info, save_as=blob_info.filename)
blob_app = webapp.WSGIApplication([
('/_s/blob/([^/]+)', blob.ServeHandler),
], debug=config.DEBUG)