クライアントからデータを送信する方法は次のとおりです(coffeescript&dajaxice):
imageData = canvas.toDataURL("image/png")
Dajaxice.draw.saveImage( @saveImage_callback, {'image': imageData } )
サーバーに画像を保存する方法は次のとおりです(この回答から取得)
@dajaxice_register
def saveImage(request, image):
imageData = re.search(r'base64,(.*)', image).group(1)
output = open('image.png', 'wb')
output.write(imageData.decode('base64'))
output.close()
画像をロードして、次のように送信したいと思います。
inputfile = open('image.png', 'rb')
imageData = inputfile.read().encode('base64')
inputfile.close()
return simplejson.dumps( { 'image': imageData } )
しかし、これではまったく同じデータが得られず、クライアントは返された画像を描画できません。imageData は、2OWn9u2
書き込み2OWn
時と読み取り時に終了します (「9u2」がありません)。