为什么不存在req.files?

时间:2018-06-14 06:09:27

标签: javascript node.js express pug

我尝试上传图片,但是req.files是Null

我的代码是:

router.post('/hoteles/Agregar/Nuevo',(req,res) => {


    console.log(req.files);
    if (!req.files) return res.status(400).send('No files were uploaded.');

    var file = req.files.uploaded_image;
    var img_name=file.name;

    if(file.mimetype == "image/jpeg" ||file.mimetype == "image/png"||file.mimetype == "image/gif" ){
        file.mv('public/imgUpload/'+file.name,(err) => {
            if(err) return res.status(500).send(err); 

            var sql = 'INSERT INTO hotel(idHotel, nombreCadena, nombreHotel, calle, numero, estado, ciudad, estrellas, imagen_name) VALUES (NULL, ?, ?, ?, ?, ?, ?, ? ,?)';

            conn.query(sql,[nombreCadena, nombreHotel, calle, numero, estado, ciudad, estrellas, 'public/imgUpload/'+file.name],(err,result,field) => {
                if(err) return res.status(500).send(err);
                console.log('add ' + result.affectedRows + ' rows');
                res.redirect('/root/hoteles/Agregar/Nuevo');

            });
        });
    }
});

我正在使用     const fileUpload = require('express-fileupload');

输出

'没有上传文件。'

2 个答案:

答案 0 :(得分:2)

您还必须添加中间件。

app.use(fileUpload());添加到启动快递应用的位置。

答案 1 :(得分:0)

添加app.use(fileUpload());,以启动您的快速应用程序 如果您使用打字稿

npm install --save @types/express-fileupload