When a file is uploaded using BlobUploadHandler original file name is saved as a name property in the newly created BlobInfo entity.
In the blob service handler, you can specify that the blob should be returned as a downloadable attachment, and you can specify which name to save it 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)
source share