hyp*_*rta 6 html javascript python django ajax
我正在尝试导出一个字符串 base64,它表示从 canvas html5 中获取的图像,这是 javascript 中的代码:
var canvas1 = $("#canvas1")[0];
var ctx1 = canvas1.getContext('2d');
dataURL1 = canvas1.toDataURL();
Run Code Online (Sandbox Code Playgroud)
Whit ajax 我将图像发送到服务器:
$.ajax({
type: "POST",
url: "/regiter_respuesta_agilidad/",
data:{
'imagen1': dataURL1,
}
});
Run Code Online (Sandbox Code Playgroud)
在 django 的 views.py 中,我使用 base64.b64decode 将字符串导出到图像:
imagen1 = request.POST['imagen1']
image_data = base64.b64decode(imagen1)
imagene = ContentFile(image_data, 'imagen1.png')
answer = Answer(imagen=imagene)
Run Code Online (Sandbox Code Playgroud)
在models.py中我有:
class Answer(models.Model):
imagen = models.ImageField(upload_to=url)
Run Code Online (Sandbox Code Playgroud)
问题是保存图像时,文件 imagen1.png 已损坏,我无法打开它,有人可以帮我解决这个问题吗?或者有其他方法可以做到这一点吗?非常感谢您。
我猜您需要删除 .data:返回的数据 URI canvas.toDataURL();。
快速谷歌搜索发现了一些设计用于在 python 中解析数据 uri 的代码https://gist.github.com/zacharyvoase/5538178和另一个:dataurl.py
| 归档时间: |
|
| 查看次数: |
4780 次 |
| 最近记录: |