2015-08-25 2 views

ответ

0

Вот документация. https://cloud.google.com/appengine/features/#blobstore Есть ссылки на python, java и go.

Поскольку вы не указали язык, я покажу вам пример для webapp2 и python. В примере написаны фотографии, но тот же код будет работать для любого blob, поскольку он явно не отправляет заголовки типов контента.

import webapp2 

from google.appengine.api import users 
from google.appengine.ext import blobstore 
from google.appengine.ext import ndb 
from google.appengine.ext.webapp import blobstore_handlers 
from google.appengine.ext.webapp.util import run_wsgi_app 

# A custom datastore model for associating users with uploaded files. 
class UserPhoto(ndb.Model): 
    user = ndb.StringProperty() 
    # blob_key = blobstore.BlobReferenceProperty() 
    blob_key = ndb.BlobKeyProperty() 


class PhotoUploadFormHandler(webapp2.RequestHandler): 
    def get(self): 
     upload_url = blobstore.create_upload_url('/upload_photo') 
     # The method must be "POST" and enctype must be set to "multipart/form-data". 
     self.response.out.write('<html><body>') 
     self.response.out.write('<form action="%s" method="POST" enctype="multipart/form-data">' % upload_url) 
     self.response.out.write('''Upload File: <input type="file" name="file"><br> <input type="submit" 
      name="submit" value="Submit"> </form></body></html>''') 

class PhotoUploadHandler(blobstore_handlers.BlobstoreUploadHandler): 
    def post(self): 
     try: 
      upload = self.get_uploads()[0] 
      user_photo = UserPhoto(user=users.get_current_user().user_id(), 
            blob_key=upload.key()) 
      user_photo.put() 

      self.redirect('/view_photo/%s' % upload.key()) 

     except: 
      self.error(500) 

class ViewPhotoHandler(blobstore_handlers.BlobstoreDownloadHandler): 
    def get(self, photo_key): 
     if not blobstore.get(photo_key): 
      self.error(404) 
     else: 
      self.send_blob(photo_key) 


app = webapp2.WSGIApplication([('/', PhotoUploadFormHandler), 
           ('/upload_photo', PhotoUploadHandler), 
           ('/view_photo/([^/]+)?', ViewPhotoHandler), 
           ], debug=True) 
+0

Эта ссылка не говорит о том, как «загрузить файл хранилища blob с клиентов» – Karthikkumar

+0

Я обновлю ответ, как только OP сообщит нам, какой язык он использует. –

+0

Привет Я использую Python – Karthikkumar

Смежные вопросы