Как загрузить видео в облачный сервис с помощью MERN и FormData?

                    let formData = new FormData()
                    formData.append("file", myfile)
                    console.log("uploading",formData,apiss)
                    const headers={
                        "Content-Type": "multipart/form-data",
                    }
                    apiss.post(`/video`, formData,{
                        headers:headers,
                        onUploadProgress: data => {
                            //Set the progress value to show the progress bar
                            console.log(Math.round((100 * data.loaded) / data.total))
                          },
                    }).then(vid=>{
                        console.log(vid,"myvidss",vid.data.msg)
                        this.setState({videourl:vid.data.msg,cool:"uploaded"})
                    })
                    .catch(err=>{
                        console.log("err",err)
                    })
                    // setFileInputState('');
                    // setPreviewSource('');
                    console.log('Video uploaded successfully');
app.post('/upload/video',async(req,res)=>{
        try{
            console.log("yes video",req,req.body,req.file,req.files)
            // console.log(req.body.data)
            // var ks;
            // for (var key of formData.entries()) {
            //     ks=key[1]
            //     console.log(key[1] + ', ' + key[1])
            // }
            const uploadreesp=await cloudinary.uploader.upload_large(req.body, {
                width: 800, height: 500, crop: "scale",
                resource_type: "auto", 
                public_id: "videos",
                chunk_size: 6000000,
                timeout:120000,
                folder:'videos',
                upload_preset: 'photos',
            })
            console.log(uploadreesp)
            res.json({ msg: uploadreesp.secure_url });
            console.log("uploaded video")
        }catch(err){
            console.log(err,"yes")
        }
    })

Я могу загружать видео и изображения, используя кодировку base64 в облачную среду, но кодирование base64 делает видео очень большим, поэтому я хочу отправлять только фактические видеоданные, поэтому я выбираю FormData (), которую видел во многих видеороликах. Но они использовали req.file.path, который не поддерживается современными браузерами. Я получаю сообщение об ошибке, указывающее, что атрибут пути написан для undefined. Как отправить данные из интерфейса responsejs в серверную часть mongodb с помощью FormData (). Если нет, то какая альтернатива лучше?

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *