将“画布”图像数据上载到服务器

我需要动态地将画布图像数据上传到服务器(数据库),也就是说,我需要创建一个表单并使用一个input=文件,然后在没有任何用户交互的情况下发布图像数据

FWIW,这就是我工作的方式

我的服务器在谷歌应用程序引擎中。我使用jQuery.post将canvas.toDataURL()的输出作为post请求的一部分发送。数据URL是base64编码的图像数据。所以在服务器上,我解码它并将其转换为图像

重新导入
导入base64
类TnUploadHandler(webapp.RequestHandler):
dataUrlPattern=re.compile('data:image/(png | jpeg);base64,(.*)$)
def post(自我):
uid=self.request.get('uid')
img=self.request.get('img')
imgb64=self.dataUrlPattern.match(img).group(2)
如果imgb64不是None和len(imgb64)>0:
缩略图=缩略图(
uid=uid,img=db.Blob(base64.b64解码(imgb64)))
缩略图

我从客户端发送如下数据:

$.post(“/upload”,
{
uid:uid,
img:canvas.toDataURL('image/jpeg'))
},
函数(数据){};

这可能不是最好的方法,但它是有效的

发表评论