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)
誰かが私が間違っているところを見ることができますか?