javascript - 使用 Connect 上传文件

标签 javascript node.js 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 中的什么位置,以及如何访问有关它的信息?

最佳答案

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

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

关于javascript - 使用 Connect 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24013188/

相关文章:

javascript - 如何在我的 Javascript 中找到内存泄漏?

javascript - session 存储: how to store multiple objects

javascript - 如何通过 jquery 函数命名动态创建的文本框?

node.js - Express.js 中如何跨模块访问 req 和 res?

node.js - req.originalUrl 未由 Restify 设置(Connect session 中间件需要它)

javascript - 如何使 'click' 事件在 div 下工作

node.js - Mongoose 类型错误 : Cannot use 'in' operator to search for '_id' in [object Object]

node.js - 开发 Alexa Skill 时如何测试高级交互

node.js - 如何以编程方式等待进程启动端点

express - node.js connect-flash 消息不显示