[英]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.