javascript - 如何使用 js toDataURL 进入 django 视图
问题描述
我正在尝试将捕获的图像从网络摄像头保存到我的 django 网站3.2 版本这是我尝试过的
class Document(models.Model):
booking =models.ForeignKey(Booking,on_delete=models.PROTECT)
docs = models.ImageField(upload_to=upload_docs)
我的意见.py
#my views function
...
if request.is_ajax() and request.method == 'POST':
images = request.FILES.get('canvas')
print("images" , images)
format, imgstr = images.split(';base64,')
ext = format.split('/')[-1]
dataimage = ContentFile(base64.b64decode(imgstr), name='temp.' + ext)
if dataimage:
photo = Document.objects.create(
booking=obj,
docs = dataimage
)
photo.save()
但打印图像值是none
,这是我的 JS + html
const player = document.getElementById('player');
const canvas = document.getElementById('canvas');
const context = canvas.getContext('2d');
const captureButton = document.getElementById('capture');
console.log(context)
const imgFormat = canvas.toDataURL();
console.log(imgFormat)
console.log(canvas)
const constraints = {
video: true,
};
captureButton.addEventListener('click', (e) => {
context.drawImage(player, 0, 0, canvas.width, canvas.height);
e.preventDefault();
});
navigator.mediaDevices.getUserMedia(constraints)
.then((stream) => {
player.srcObject = stream;
});
<input type="file" name="documents" id="document">
<video id="player" controls autoplay></video>
<button id="capture">Capture</button>
<canvas id="canvas" name="canvas" width=320 height=240></canvas>
我有什么需要改变的吗?我想我必须从我的 views.py 访问canvas
js 变量,但我不知道如何实现它
解决方案
推荐阅读
- xaml - 如何在 UWP 的增量(惰性)加载 ListView 中实现 SearchBox 功能
- django - docker exec 看到本地文件的变化
- vba - 无法使用链接在电子表格中插入图片
- eclipse - 源文件夹未在 eclipse 中显示
- php - 如何在邮件中显示 ACF 的字段?
- python - Wagtail API - 如何排除字段?
- php - 使用表单获取文本框的值(Codeigniter)
- c# - 如何创建具有不同模型的 Automapper
- python - 如何处理烧瓶中记录请求标头中的空行
- c# - 在 asp.net Portable.Licensing 中,.WithMaximumUtilization(1) 的含义和使用是什么?