Ali Shouaa نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 كيف أرفع ملف فيديو على الخادم node js من خلال المكتبة fs و حفظه في قاعدة البيانات mongodb 1 اقتباس
0 Wael Aljamal نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 يمكنك استخدام حزمة multer لرفع الملفات (منها الفيديو) حيث عليك تثبيت الحزمة npm install --save multer وتضمينها const multer = require('multer'); ثم تعريف الدوال التي تقوم بالرفع. أولاً تعريف مسار رفع الفيديو: router.post('/uploadVideo', videoUpload.single('video'), (req, res) => { // نحفظ الملف }, (error, req, res, next) => { // خطأ res.status(400).send({ error: error.message }) }) ثانياً تعريف دالة المتحكم لمعالجة الملف middleware const videoUpload = multer({ storage: videoStorage, limits: { fileSize: 10000000 // 10000000 Bytes = 10 MB }, fileFilter(req, file, cb) { // تحديد أنواع الملفات الممكنة mp4 and mkv format if (!file.originalname.match(/\.(mp4|MPEG-4|mkv)$/)) { return cb(new Error('الملف المرفق ليس ملف فيديو أو ليس مدعوم من المخدم')) } cb(undefined, true) } }) ثالثاً حفظ الملف على المخدم ضمن نظام الملفات const videoStorage = multer.diskStorage({ destination: 'videos', // مسار مجلد حفظ الفيديو filename: (req, file, cb) => { // اسم الملف cb(null, file.fieldname + '_' + Date.now() + path.extname(file.originalname)) } }); لاحظ أن ملف الفيديو يتم حفظه على القرص، و نضيف في نموذج قاعدة البيانات حقل سلسلة نصية يحفظ مسار الفيديو فقط و نقوم بالربط اللازم بينهم. أضف منطق حفظ الرابط في قاعدة بيانات mongo ضمن front end نستخدم multipart/form-data مع الطريقة POST , ونعطي اسم للحقل. <form method="post" action="/uploadVideo" enctype="multipart/form-data"> <input type="file" name="videoFile"><br> <input type="submit" value="Submit"> </form> يمكنك الاعتماد على الأفكار من رفع صورة من السؤال: 1 اقتباس
السؤال
Ali Shouaa
كيف أرفع ملف فيديو على الخادم node js من خلال المكتبة fs و حفظه في قاعدة البيانات mongodb
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.