Cerco di caricare un png sul mio server node.js, ma ogni volta che viene chiamato req.files.avatar
, viene visualizzato un errore e viene indicato TypeError: Cannot read property 'avatar' of undefined
.In express.js, req.files non è definito
risposta
Il problema era che non ho scritto enctype="multipart/form-data"
nel modulo. Ecco perché req.files non è stato definito.
non proprio, ho enctype = "multipart/form-data" ma ho ottenuto lo stesso errore – ngakak
Inoltre, penso che devi includere il tuo BodyParser prima delle eventuali istruzioni per utilizzare app.router o middleware statico. Dopo alcune prove ed errori questo è l'ordine che funziona per me.
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'));
});
Ho completamente dimenticato il parser del corpo e questo risolve il mio problema. Grazie! – x1a0
- 1. req.files non è definito durante il caricamento di file con multer
- 2. $ non è definito in jsfiddle
- 3. Parziale non definito in giada
- 4. abstractmethod non è definito
- 5. Timedelta non è definito
- 6. RegeneratorRuntime non è definito
- 7. "document.formName" non è definito?
- 8. ko.mapping non è definito
- 9. req.headers.origin non è definito
- 10. window.googleapis non è definito
- 11. 'ansible_date_time' non è definito
- 12. richiedono non è definito
- 13. "Modernizr non è definito"
- 14. servletcontext.addservlet non è definito
- 15. ISODate non è definito
- 16. ReactDom non è definito
- 17. Firebase non è definito?
- 18. process.env.NODE_ENV non è definito
- 19. Grunt non è definito
- 20. getSupportFragmentManager() non è definito
- 21. è possibile percorsi di nome in Express.js
- 22. non può fare più res.send in express.js
- 23. L'oggetto localStorage non è definito in IE
- 24. Jquery in React non è definito
- 25. 'Promise' non è definito in IE
- 26. window.toString.call non è definito in IE8
- 27. SCRIPT5009: "$" non è definito in IE9
- 28. Xpathresult non è definito in IE11
- 29. controllo non è definito in meteor.js
- 30. javascript window.URL non è definito in funzione
Ouh, è vero, mi spiace – MrMangado
Che aspetto ha il codice che carica il file sul lato client? – JohnnyHK
Usi bodyParser come middleware? –