使用Connect上传文件

时间:2014-06-03 10:47:55

标签: javascript node.js connect

我尝试上传文件并使用这个简单的代码进行检查。

var connect = require("connect")
    , http = require('http');

var app = connect()
    .use(connect.logger('dev'))
    .use(connect.static('static'))
    .use(connect.bodyParser())
    .use(function(req, res, next){
        if ('POST' == req.method) {
            console.log(req.body);
            console.log(req.body.file);
            res.writeHead(200);
            res.end('Uploaded');
        } else {
            next();
        }
    });

connect.createServer(app).listen(3000);

在静态文件夹中,我有这个index.html:

 <form action="/" method="POST" enctype="multipart/form-data">
     <input type="text" name="texten">
     <input type="file" name="displayImage">

     <button>Send file!</button>
 </form>

在浏览器中我在文本字段中写了一些文本,为文件输入选择一个简单的.txt文件。然后我按提交。

在控制台中,文本字段的内容按预期输出,但无法找到有关它的文件或信息。

问: req.body中的文件位于何处,以及如何访问有关该文件的信息?

2 个答案:

答案 0 :(得分:1)

bodyparser不处理文件上传所需的多部分提交。您将需要一些其他中间件,例如connect-busboyconnect-multiparty

然后,您可以从req.files对象访问上传的文件。

答案 1 :(得分:0)

您应该使用文件系统核心模块将正文的内容写入文件。