繁体   English   中英

将 base64 转换为视频

[英]Converting base64 to video

我通过 api 在字符串类型的 js 中发布文件,如图所示错误图片

所以我需要在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM