Express JS 4.x Multer基本上传

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

我收到的唯一的错误是:'POST /上传500',我的POSTcallback从来没有进入..所以我甚至不知道如何debugging这种情况。 我的代码如下:

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安装文档之间的任何区别。 不仅仅是“如何”解决这个问题,我真的很想知道为什么这不起作用,以及发生了什么,导致它失败。

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

解决了! 首先,我的input名称不匹配:upload.single('photo [image]')。

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