我有一个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: ''
我无法弄清楚出了什么问题。任何帮助非常感谢。