1

CoffeScript 内で jQuery を使用して GAE データストアに画像ファイルをアップロードしようとしています。

私が使用しているアップロードjQuery Post関数は次のとおりです。

$.post "/uploadBTS?bts_spriteSheet=#{@bts_spritesheet_url}", (data) =>
      console.log 'succsess'

@bts_spritesheet_url は、html5 ファイル API から取得されます。

handleSpritesheetSelection = (evt) => 
      files = evt.target.files
      f = files[0]
      reader = new FileReader()

      # Closure to capture the file information.
      reader.onload = ((theFile) =>
        return (e) =>   
          @bts_spritesheet_url = e.target
        )(f)
      reader.readAsDataURL(f)
document.getElementById('upload_spritesheet').addEventListener('change', handleSpritesheetSelection, false)

/uploadBTS への post 呼び出しに対する GAE のハンドラーは次のとおりです。

class UploadBTS(webapp2.RequestHandler):
  def post(self):

    # get information from form post upload
    bts_spriteSheet = self.request.get('bts_spriteSheet') 

    # create database entry for uploaded image 
    bts_entry = Building_Tile_Sets()
    bts_entry.image = db.Blob(bts_spriteSheet)
    bts_entry.put()

そして最後に、私が情報を入れようとしているデータベースは次のように定義されています:

# Database containg the bts
class Building_Tile_Sets(db.Model):
  image = db.BlobProperty(default=None)

アップロードしようとすると、次のエラーが表示されます。

POST http://localhost:8080/uploadBTS?bts_spriteSheet=[object%20FileReader]&bts_jason=[object%20Object]&bts_name=one 500 (OK) 

誰かが私が間違っているところを見ることができますか?

4

0 に答える 0