from google.appengine.api import images, files
def upload(ext, stream):
file_name = files.blobstore.create(mime_type=mimetypes.types_map[ext])
with files.open(file_name, 'a') as f:
f.write(stream.getvalue())
files.finalize(file_name)
return images.get_serving_url(files.blobstore.get_blob_key(file_name))
Which I'm thinking to change to the next:
def upload(ext, stream):
filename = "/images/my_file"
with gcs.open(filename, 'w') as f:
f.write(stream.getvalue())
# Blobstore API requires extra /gs to distinguish against blobstore files.
blobstore_filename = '/gs' + filename
# This blob_key works with blobstore APIs that do not expect a
# corresponding BlobInfo in datastore.
blob_key = blobstore.create_gs_key(blobstore_filename)
return images.get_serving_url(blob_key)
Which seems to work.
The problem that in the old version I don't have to worry about filenames, Files API job was to assign me one. Now I need to give a name myself. Any way the new api should do it for me? Or maybe I should just hash the file.
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/145ce87c-e299-4d7f-8c8c-83f2959b5548%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.