【发布时间】:2014-02-19 10:03:57
【问题描述】:
我想上传一个格式像这样的文件(JADE):
form(action="/file-upload", name="upload", method="post", enctype="multipart/form-data")
input(type="file", name="theFile")
input(type="submit", name="Upload")
这是我的 app.js:
app.use(express.methodOverride());
app.use(express.multipart());
app.use(express.bodyParser());
这就是我处理请求的方式:
app.post('/file-upload',function(req,res){
console.log('FIRST TEST: ' + JSON.stringify(req.files));
console.log('second TEST: ' +req.files.theFile.name);
});
这是我的 Node.js 控制台:
FIRST TEST: undefined
TypeError: Cannot Read Property 'theFile' of undefined....etc....
哦,顺便说一句,Connect 模块发出警告:
connect.limit() will be removed in connect 3.0
connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
我在这里做错了什么?我遵循here、here、here 的建议,但没有任何效果。感谢您的帮助.....
更新: 我刚刚将 LOGGER 添加到我的应用程序中,所以我似乎收到了请求:
127.0.0.1 - - [Wed, 19 Feb 2014 11:02:11 GMT] "POST /file-upload HTTP/1.1" 500 -
"http://localhost:3000/admin/news-add" "Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36"
【问题讨论】:
-
Express 有一个文件上传示例here,根据它,它看起来就像你在服务器后端做的事情。尝试添加
app.use(express.logger('dev')以启用一些日志输出以查看您实际收到的内容。 -
按照您的建议添加记录器。看起来不错,服务器收到了 POST 请求,但仍然“未定义”