簡體   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