es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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")}`);
});
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que file no está definido cuando intentas acceder a la propiedad name. Esto puede ser debido a que la propiedad file no existe en el objeto req.files.

    Una posible solución es verificar si req.files está definido antes de acceder a sus propiedades:

    app.post("/upload", (req, res) => {
        const file = req.files && req.files.file; // Verifica si req.files existe antes de acceder a sus propiedades
        console.log(file && file.name);
    });
    

    De esta forma, si req.files es undefined o no tiene una propiedad file, la variable file también será undefined y acceder a su propiedad name no causará un error.

Comments are closed.