1

ユーザーが画像をblobstoreにアップロードできるようにする必要があるGoogleAppEngineアプリケーション(Python)があります。クライアントは、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、text/plainとして/echo渡されたものをすべてエコーバックする単純なハンドラーです。val今のところ、モバイルアプリをまだ起動していないため、RESTテストツールを使用しています。ImageGetUploadHandlerに対してGETを実行し、結果のリンクをテストアプリケーションにコピーしました。そこでは、アップロードURLの正しいキーの下にある画像ファイルを含むmultipart/form-dataでPOSTを使用しました。これを行うと、次のエラーが発生します。

ValueError: Invalid boundary in multipart form: ''

何が悪いのかわかりません。どんな助けでも大歓迎です。

4

0 に答える 0