Express JS 4.x Multer Basic Upload

时间:2015-08-18 07:37:54

标签: node.js express upload multer

我尝试使用Multer中间件在Express JS中上传图像,但在尝试设置绝对最简单的用例时遇到了几个问题。

我收到的唯一错误是:' POST / upload 500',我的POST回调永远不会输入..所以我甚至不确定如何调试这种情况。我的代码如下:

app.js:

var express = require('express');
var multer = require('multer');
var upload = multer({ dest: './public/photos/'}); // valid dir

app.post('/upload', upload.single('photo'), function(req, res, next){
  // This callback is never reached. 500 error.
  console.log(req.body);
  console.log(req.files);
});

upload.ejs:

<form method='post' enctype='multipart/form-data'>
    <p><input type='text', name='photo[name]', placeholder='Name'/></p>
    <p><input type='file', name='photo[image]'/></p>
    <p><input type='submit', value='Upload'/></p>
</form>

我无法找出这与当前的npm Multer设置文档之间的任何区别。不仅仅是“如何”和#39;解决这个问题,我真的很想知道为什么这不起作用,以及导致它失败的问题。

欢迎所有帮助。谢谢!!!

1 个答案:

答案 0 :(得分:1)

解决!首先,我的输入名称不匹配: upload.single(&#39;照片[图像]&#39)。

导致500错误的原因。之后我遇到了一些问题,这些问题是由使用过时的req.file数据包造成的,并且可以通过引用最新的multer文档轻松解决。