【问题标题】:multer - req.file is undefinedmulter - req.file 未定义
【发布时间】:2020-06-19 20:07:20
【问题描述】:

我正在使用 Node、Express 和 multer 创建一个用于上传图像的应用程序。我提交了表格,但 req.file 未定义。我花了一整天的时间进行故障排除,但无法找出问题所在。

表格

  <form method="get" action="/upload" enctype="multipart/form-data">
    <div id="upload_div"><input type="file" name="imgFile" id="image_input" accept="image/*" onchange="readURL(input)"></div>
    <div id="upload_div"><input type="text" name="name" id="name" title="Name" placeholder="Name"></div>
    <div id="upload_div"><input type="submit" value="Upload"></div>
  </form>

路由器

...
const multer = require('multer')
var upload = multer({ dset: '/images' });
...
router.post('/upload_processing', upload.single('imgFile'), function(req, res, next){
  console.log(req.files); // result : undefiend
  console.log(req.file);  // result : undefiend
  console.log(req.body);  // result : {imgFile:"test.png", name:"test"}
  res.send(req.body);
});

【问题讨论】:

    标签: javascript node.js express multer


    【解决方案1】:

    我认为您提供的名称和您在下面使用的名称有问题。 试试这样的,可能对你有帮助

    router.post('/upload', upload.single('file'),function (req, res){  
        res.json({file: req.file})
        res.redirect('/');
    })
    

    【讨论】:

    • 感谢您的回答。但是,我已经修复了它,现在它运行良好。我将“const upload = multer({dest:”/uploads'});”修改为“const upload = multer({dest:“uploads/”});。我仍然不知道它为什么会磨损。但我现在很开心!
    猜你喜欢
    • 2018-08-06
    • 2021-10-02
    • 2022-01-18
    • 1970-01-01
    • 2020-12-17
    • 2016-06-21
    • 2017-01-15
    • 2017-01-26
    • 1970-01-01
    相关资源
    最近更新 更多