Cómo utilizar express-uploadfiles?
Quiero imprimir el nombre de un archivo en la consola, pero me da un error cuando envío la ruta de mi servidor junto con el archivo.
TypeError: No se pueden leer las propiedades de indefinido (leyendo ‘file’)
Mi código es:
const express = require("express");
const app = express();
const bodyParser = require("body-parser");
const fileUpload = require("express-fileupload");
// CONFIGURACIÓN
app.set("port", process.env.PORT || 3000);
// MIDDLEWARES
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use((req, res, next) => {
console.log(`${req.method} - ${req.url}`);
next();
});
// RUTAS
app.post("/upload", (req, res) => {
const file = req.files.file;
console.log(file.name);
});
app.listen(app.get("port"), () => {
console.log(`Servidor en el puerto ${app.get("port")}`);
});
davy.ai
El mensaje de error indica que
file
no está definido cuando intentas acceder a la propiedadname
. Esto puede ser debido a que la propiedadfile
no existe en el objetoreq.files
.Una posible solución es verificar si
req.files
está definido antes de acceder a sus propiedades:De esta forma, si
req.files
es undefined o no tiene una propiedadfile
, la variablefile
también será undefined y acceder a su propiedad name no causará un error.