从非网页客户端将图像上传到Google App Engine

时间:2012-12-15 18:21:26

标签: python google-app-engine file-upload blobstore form-data

我有一个Google App Engine应用程序(Python),需要允许用户将图像上传到blobstore。客户端而不是Web应用程序将是本机移动应用程序。我有以下代码来上传:

class ImageGetUploadURLHandler(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write(blobstore.create_upload_url('/imgupload'))

class ImageUploadHandler(blobstore_handlers.BlobstoreUploadHandler):
  def post(self):
    imgInfo = self.get_uploads('img')[0]
    logging.info('Uploading image %s of size %i'.format(imgInfo.filename, imgInfo.size))
    self.redirect('/echo?val=%s' % str(imgInfo.key()))

ImageUploadHandler安装在/imgupload上,而/echo是一个简单的处理程序,用于回传val中传递给text / plain的任何内容。截至目前,我只是使用REST测试工具,因为我尚未启动移动应用程序。我对ImageGetUploadHandler进行了GET,并将生成的链接复制到测试应用程序中,在那里我使用带有multipart / form-data的POST,并在上传URL的正确密钥下使用图像文件。当我这样做时,我收到以下错误:

ValueError: Invalid boundary in multipart form: ''

我无法弄清楚出了什么问题。任何帮助非常感谢。

0 个答案:

没有答案