[英]Converting base64 to video
所以我需要在 python 中转换生成的文件时将 str base64 转换为视频文件,如屏幕截图所示其 lieke 文本lesson_vid = request.POST.get('lesson_video') print(type(lesson_vid))
output 是:<class ' str'> 问题是如何从 str base64 保存 mp4 视频
python:
lesson_title = request.POST.get('lesson_title')
lesson_vid = request.POST.get('lesson_video')[15:]
lesson_vid = lesson_vid.encode()
#print(lesson_vid)
#lesson_vid = ' '.join(format(ord(x), 'b') for x in lesson_vid)
with open("data/video1.mp4", "wb") as fh:
fh.write(base64.b64decode(lesson_vid))
fh.close()
# if len(lesson_title) > 3:
# pass
# if lesson_vid != 'no-vid':
# pass
javaScript:
c = console.log
const inputFile = document.querySelector('#file');
var vid_name = document.getElementById('vid-name')
var video_upload = 'no-vid'
inputFile.addEventListener('click', function () {
inputFile.click();
})
inputFile.addEventListener('change', function () {
const video = this.files[0]
const reader = new FileReader();
reader.onload = () => {
c(video.name)
vid_name.innerHTML = video.name
video_upload = reader.result
}
reader.readAsDataURL(video);
})
document.getElementById('lesson-form').addEventListener('submit', function (e) {
e.preventDefault();
const file = document.getElementById('file').files[0];
console.log(file)
const formData = new FormData();
formData.append('lesson_video', btoa(video_upload))
formData.append('lesson_title', 'title')
formData.append('lesson', 'd1')
formData.append('csrfmiddlewaretoken', '{{ csrf_token }}')
$.post('/edit_course/{{ uid }}/', {
'lesson_video': video_upload,
'lesson': 'd1',
'csrfmiddlewaretoken': '{{ csrf_token }}'
}, function (data, status) {
});
})
通过仅切片第一个索引来修复
lesson_vid = request.POST.get('lesson_video')[22:]
with open("data/video1.mp4", "wb") as fh:
fh.write(base64.b64decode(lesson_vid))
fh.close()```
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.