以下是我从客户端发送数据的方式(coffeescript& dajaxice):
imageData = canvas.toDataURL("image/png")
Dajaxice.draw.saveImage( @saveImage_callback, {'image': imageData } )
以下是我在服务器上保存图片的方式(取自this answer)
@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')。
答案 0 :(得分:0)
好的,数据的差异不是问题,它有效。以下是我在客户端上绘制返回图像的方法:
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)