मैं फ़ाइल अपलोड के लिए 'multer' प्लगइन का उपयोग कर रहा हूं। फ़ाइल सफलतापूर्वक अपलोड करने के बाद मैं एक और फ़ंक्शन कॉल करना चाहता हूं।नोडजेएस: 'multer' फ़ाइल अपलोड कॉलबैक फ़ंक्शन
यहाँ मेरी कोड:
module.exports.uploadFile = upload.single('file', '_id'), function (req, res, next) {
console.log('Uploade Successful');
}
var upload = multer({
storage: multer.diskStorage({
destination: './Media/ChatDocUpload',
filename: function (req, file, cb) {
var dest = './Media/ChatDocUpload';
//query string params
var _chatMessageID = req.query.chatMessageID;
var _ext = file.originalname.substring(file.originalname.indexOf("."));
var _fileName = _chatMessageID + _ext;
cb(null, _fileName);
}
})
});
मैं छवि अपलोड करने के बाद अपने नए फ़ंक्शन को कॉल करना चाहते हैं। इस कोड का उपयोग करके मैं छवि को सफलतापूर्वक अपलोड कर सकता हूं, लेकिन कॉल कॉलबैक फ़ंक्शन नहीं प्राप्त कर सकता हूं।
छवि अपलोडिंग पूर्ण होने के बाद मुझे नए फ़ंक्शन को कॉल करने की आवश्यकता है।
//I need to call this function after image fully uploaded
var uploadSuccessFn = function() {
//code
}
तरह की कोशिश आप एक मिडलवेयर समारोह के रूप में multer उपयोग कर सकते हैं: router.post ('/ छवि', imageUpload, anotherFunction) –
आप फ़ाइल नाम नहीं पार्स करने दिया जाना चाहिए, वहाँ उस के लिए एक मॉड्यूल है: इसके लिए कई अंतर्निहित कार्यों के साथ 'पथ', उदाहरण: 'path.extname' (https://nodejs.org/api/path.html#path_path_extname_path)। फिर आपको सुरक्षा कारणों से कुछ फ़ाइल एक्सटेंशन अवरुद्ध करना चाहिए ... शुरुआत के लिए, निष्पादन योग्य सभी फ़ाइल नाम: '.exe',' .scr' और ऐसे। – arboreal84
लेकिन मुझे 'var uploadSuccessFn = function() { // कोड } कॉल करने की आवश्यकता है' छवि अपलोड करने के बाद सफलतापूर्वक यह फ़ंक्शन। –