मैं अपने node.js सर्वर पर एक पीएनजी अपलोड करने का प्रयास करता हूं, लेकिन हर बार req.files.avatar
कहा जाता है, एक त्रुटि प्रकट होती है और कहती है TypeError: Cannot read property 'avatar' of undefined
।express.js में, req.files
उत्तर
समस्या यह थी कि मैंने फॉर्म में enctype="multipart/form-data"
नहीं लिखा है। यही कारण है कि req.files अपरिभाषित था।
वास्तव में नहीं, मेरे पास enctype = "multipart/form-data" है लेकिन एक ही त्रुटि मिली – ngakak
मुझे लगता है कि आपको से पहले अपने शरीर पार्सर को एप.उटर या स्टेटिक मिडलवेयर का उपयोग करने के लिए कोई निर्देश शामिल करना होगा। कुछ परीक्षण और त्रुटि के बाद यह वह आदेश है जो मेरे लिए काम करता है।
app.configure(function(){
app.set('port', process.env.port || 3000);
app.set('views', __dirname + '/app/server/views');
app.set('view engine', 'jade');
app.locals.pretty = true;
app.use(express.favicon());
app.use(express.bodyParser({ keepExtensions: true, uploadDir: __dirname + '/app/uploads' }));
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({ secret: 'super-duper-secret-secret' }));
app.use(app.router);
app.use(require('stylus').middleware({ src: __dirname + '/app/public' }));
app.use(express.static(__dirname + '/app/public'));
});
मैं पूरी तरह से शरीर पार्सर भूल गया और यह मेरी समस्या का समाधान करता है। धन्यवाद! – x1a0
ओह, यह सच है, क्षमा करें – MrMangado
क्लाइंट पक्ष पर फ़ाइल अपलोड करने वाला कोड कैसा दिखता है? – JohnnyHK
क्या आप बॉडी पार्सर को मिडलवेयर के रूप में उपयोग करते हैं? –