0

クライアントからデータを送信する方法は次のとおりです(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」がありません)。

4

1 に答える 1

0

OK、データの違いは問題ではありません。動作します。クライアントで返された画像を描画する方法は次のとおりです。

saveImage_callback: (result)=>
    imageData = 'data:image/png;base64,'+result.image
    image = new Image()
    image.src = imageData
    canvas.getContext("2d").drawImage(image, 300, 300, 300, 300)
于 2014-06-27T12:51:59.360 に答える