Estoy escribiendo una demostración de carga de archivos por multer en node.js. Cuando se envía el formulario, puedo obtener la información del archivo, pero no tiene la propiedad de ruta.
<form method="post" enctype="multipart/form-data"> <p> <input type="text" name="name" placeholder="name"> </p> <p> <input type="file" name="photo"> </p> <p> <input type="submit" value="Upload"> </p> </form> function (req, res ,next) { var img = req.file; var name = req.body.name || img.originalname; var path = require('path').join(dir, name); console.log(img); } var multer = require('multer')(); app.post('/upload',multer.single('photo'),photos.submit(app.get('photos')));Está utilizando memStorage para almacenar archivos. Es por eso que no hay una ruta en req.file.
Intenta cambiar esto a: var upload = multer({ dest: 'uploads/' }) . Reemplace uploads/ con el directorio donde desea cargar su archivo.