Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用表单将图像上载到Google云端点_Python 2.7_Google App Engine_Google Cloud Storage_Google Cloud Endpoints - Fatal编程技术网

Python 2.7 使用表单将图像上载到Google云端点

Python 2.7 使用表单将图像上载到Google云端点,python-2.7,google-app-engine,google-cloud-storage,google-cloud-endpoints,Python 2.7,Google App Engine,Google Cloud Storage,Google Cloud Endpoints,我想将带有表单的图像上载到enpoints api。上传和保存到谷歌云存储似乎是可行的 但是如果我在开发人员控制台中单击图像,它只显示一个16x16px的空图像,而不是原始图像 我做错了什么 <form action="https://xyz.appspot.com/_ah/api/undergogo/v1/image" target="_blank" enctype="multipart/form-data" method="post" onchange="readI

我想将带有表单的图像上载到enpoints api。上传和保存到谷歌云存储似乎是可行的

但是如果我在开发人员控制台中单击图像,它只显示一个16x16px的空图像,而不是原始图像

我做错了什么

<form action="https://xyz.appspot.com/_ah/api/undergogo/v1/image" 
 target="_blank" 
 enctype="multipart/form-data" 
 method="post" 
 onchange="readImage();">

  <input type="text" name="desc"/>
  <input id="fileInput" type="file" name="imgFile"/>
  <input id="fileInputBase64" type="hiden" name="img" />
  <input type="submit" value="upload">

</form>

原料药

ImageMessage类:

class ImageMessage(messages.Message):
  url     = messages.StringField(1)
  desc    = messages.StringField(2)
  img     = messages.BytesField(3)
@endpoints.method(ImageMessage, Status,
                path='image', http_method='POST',
                name='image.upload')
def image_upload(self, request):
  my_default_retry_params = gcs.RetryParams(initial_delay=0.2,
                                      max_delay=5.0,
                                      backoff_factor=2,
                                      max_retry_period=15)

  bucket_name = os.environ.get('xyz.appspot.com',app_identity.get_default_gcs_bucket_name())
  bucket = '/' + bucket_name

  filename = bucket + '/demo-image2o.jpg'
  self.tmp_filenames_to_clean_up = []

  # write file
  gcs_file = gcs.open(filename,
                'w',
                 content_type='image/jpeg')

  gcs_file.write(request.img.decode('base64'))
  gcs_file.close()
  self.tmp_filenames_to_clean_up.append(filename)

  return Status(code=0,message=request.desc)
class ImageMessage(messages.Message):
  url     = messages.StringField(1)
  desc    = messages.StringField(2)
  img     = messages.BytesField(3)