Ali Shouaa نشر 3 يناير 2022 أرسل تقرير مشاركة نشر 3 يناير 2022 (معدل) السلام عليكم كيف الحال , كيف أستطيع ان ارفع عدة صور من node js و حفظهم في فاعدة البيانات mongodb , سأرفق صور للطريق التي أستعملها في رفع صورة واحد , و أرجوا ان يرشدني احد الى كيفية رفع عدة صور , و شكرا لتعاونكم تم التعديل في 3 يناير 2022 بواسطة سامح أشرف توضيح السؤال 2 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سامح أشرف نشر 3 يناير 2022 أرسل تقرير مشاركة نشر 3 يناير 2022 يجب تعديل كود HTML ليتم السماح برفع أكثر من ملف بالشكل التالي: <input name="avatar" type="file" multiple /> أيضًا يجب تعديل كود Multer ليقوم بإستقبال أكثر من ملف بالشكل التالي: app.post('/add-product', upload.array('avatar', 12), function (req, res, next) { // req.files is array of `avatar` files // req.body will contain the text fields, if there were any }) ملاحظة يصبح الكائن الذي يحتوي على معلومات الصور باسم req.files وليس req.file وذلك لأنه يمكن أن يحتوي الآن على أكثر من صورة. وفي حالة أردت أن ترفع الصور من خلال أكثر من حقل فيمكنك أن تستعمل upload.feilds على النحو التالي: const cpUpload = upload.fields([{ name: 'avatar', maxCount: 1 }, { name: 'gallery', maxCount: 8 }]) app.post('/add-product', cpUpload, function (req, res, next) { // يمكن الوصول إلى معلومات الصور بالشكل التالي // req.files['avatar'][0] -> File // req.files['gallery'] -> Array مصفوفة من الصور }) الأمر الأخير هو أنه يجب تعديل الـ Schema في النموذج model ليتم تخزين مصفوفة من النصوص array of string بدلًا من نص واحد string: const productSchema = new Schema({ avatar: [{ type: String }] }); ملاحظة: قد ترغب في تغير اسم الحقل ليكون avatars أو شيء آخر يعبر عن وجود أكثر من صورة بدلًا من avatar فقط. ملاحظة: يرجى إضافة الشيفرات بمحرر الشيفرات وليس كصور 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Mohammad Al Eik نشر 3 يناير 2022 أرسل تقرير مشاركة نشر 3 يناير 2022 لرفع عدة ملفات بإستخدام مكتبة multer باستعمال ال method التالية array بدلاً عن single وهذا مثال توضيحي router.post('/projects', upload.array('uploadedImages'), function(req, res) { var file = req.files; res.end(); }); اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Ali Shouaa نشر 5 يناير 2022 الكاتب أرسل تقرير مشاركة نشر 5 يناير 2022 router.post('/add-product', upload.fields([{ name: 'avatar', maxCount:1 }, { name: 'gallery', maxCount: 8 }]) , const product = new Product({ name: req.body.name, avatar: req.files['avatar'][0], gallery: req.files['gallery'] }) السلام عليكم هل هكذا صحيح ؟؟ و بالنسبة للmodel ماذا اكتب بداخل في حالة اني اريد اضافة صور من عدة حقول , و شكرا 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 5 يناير 2022 أرسل تقرير مشاركة نشر 5 يناير 2022 بتاريخ 14 دقائق مضت قال Ali Shouaa: و بالنسبة للmodel النموذج نحدد أن يقبل مصفوفة مصفوفة سلاسل نصية حيث أن الصورة تخزن ك Base64 avatar: [ { type: String } ] ^ ^ وتمرر للدالة أسماء الحقول التي لديك upload.fields ( [ { name: 'avatar', maxCount:1 }, ^^^^^^^ اسم الحقل { name: 'gallery', maxCount: 8 } ^^^^^^^ اسم الحقل ] ) كل شيء يتم التعامل معه كمصفوفة هذا شرح إضافي للشيفرة التي قدمها سامح 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Ali Shouaa
السلام عليكم كيف الحال , كيف أستطيع ان ارفع عدة صور من node js و حفظهم في فاعدة البيانات mongodb , سأرفق صور للطريق التي أستعملها في رفع صورة واحد , و أرجوا ان يرشدني احد الى كيفية رفع عدة صور , و شكرا لتعاونكم
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.