MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongoose में Multer का उपयोग करके MongoDB में फ़ाइल संग्रहीत करना

यार तुम गलत रास्ते पर चल रहे हो। मैंने आपके पिछले प्रश्न अनुरोध में पहले ही स्पष्ट कर दिया है कि Multer का उपयोग फ़ाइल डिस्क सिस्टम में फ़ाइलों को सहेजने के लिए किया जाता है न कि सीधे आपके डेटाबेस में। उसके लिए आपको GRIDFS का उपयोग करना चाहिए।

आपके वर्तमान प्रश्न पर आते हैं।

app.post('/Upload', upload.single('solution') ,function (req, res, next) {
    console.log(req.file);
});

यहां upload.single('solution') - एक फ़ंक्शन को कॉल करें अपलोड करें और पास की गई फ़ाइल का नाम समाधान है लेकिन यह स्पष्ट है कि यह यहां उपलब्ध नहीं है।

इस प्रकार के प्रारूप का उपयोग करें - मुल्टर का दस्तावेज़ीकरण

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, '/tmp/my-uploads')
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

var upload = multer({ storage: storage })

वहां के स्टोरेज पार्ट का उपयोग उस स्थान को पथ देने के लिए किया जाता है जहां आपकी फ़ाइल को सहेजा जाना चाहिए और फ़ाइल नाम अनुभाग का उपयोग उस फ़ाइल नाम में परिवर्तन करने के लिए किया जाता है जिसे आप रखना चाहते हैं।

कृपया दस्तावेज़ीकरण पढ़ें क्योंकि इससे मदद मिलेगी। जब हम तीसरे पक्ष के मॉड्यूल का उपयोग करते हैं तो हमें उनके द्वारा पहले ही दी गई जानकारी को स्वीकार करना चाहिए ताकि हम उनके काम का आसानी से उपयोग कर सकें।

मुझे आपके लिए इसे आसान बनाने दें। यहां तैयार कोड है जो काम करता है।

एनजी-फ़ाइल अपलोड के माध्यम से फ़ाइल अपलोड करते समय मल्टर अजीब त्रुटि फेंक रहा है

जाओ उस धागे की जाँच करें। सवाल मेरे द्वारा उठाया गया था - समस्या यह थी कि मैं सरणी प्रारूप में फाइलें भेज रहा था, जैसे कि एक साथ कई फाइलों में। यदि आप ऐसा नहीं कर रहे हैं तो एकल अपलोड डेमो उदाहरण का उपयोग करने के लिए एनजी-फाइल-अपलोड सेगमेंट को बदलें और सर्वर साइड नोडज कोड को .array बदलें। .single . के साथ और चीजें वैसे ही काम करेंगी जैसे आप चाहते हैं कि वे काम करें - यह देखते हुए कि आप फाइलों को स्टोर करने के लिए फाइल डिस्क सिस्टम का उपयोग करना चाहते हैं।

मैं दोहराता हूं कि यह विधि फ़ाइल को सीधे मोंगोडब में सहेजने में आपकी सहायता नहीं करेगी।

मुझे बताएं कि क्या आपको किसी और स्पष्टीकरण की आवश्यकता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक नेवला दस्तावेज़ उदाहरण को कॉपी/क्लोन करने का सबसे आसान तरीका?

  2. AWS पर MongoDB की मेजबानी करते समय पूछने (और उत्तर देने) के लिए 10 प्रश्न

  3. एक क्लस्टर में MongoDB चलाने के लिए सर्वोत्तम अभ्यास

  4. MongoDB GROUP BY में HAVING करने का सही तरीका क्या है?

  5. MongoDB में दस्तावेज़ कैसे प्रबंधित करें