尝试将文件上传到nodejs Web服务

时间:2013-11-05 18:45:14

标签: node.js

我正在尝试在nodejs中创建一个接受文件并保存的简单Web服务。 这是我的代码。

var express = require('express');
var app = express();
var fs = require('fs');
var sys = require('sys');
app.listen(8080);

app.post('/upload', function(req, res) {
    console.log(req.files);
    var fileKey = Object.keys(req.files)[0];
    var file = req.files[fileKey];
    fs.readFile(file.path, function(err, data) {
        fs.writeFile(__dirname, data, function(err) {
            res.redirect("back");
        });
    });
});

我正在使用fiddler上传文件。

console.log(req.files);

给出undefined。抛出异常:

Object.keys called on non-object

知道我可能做错了吗?

1 个答案:

答案 0 :(得分:1)

您似乎没有使用解析上传所需的bodyParser中间件(以及其他内容):

app.use(express.bodyParser());

app.post('/upload', function(req, res) { ... });