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 (). Если нет, то какая альтернатива лучше?