NodeJS 使用Connect上传文件

tcomlyy6  于 2023-05-28  发布在  Node.js
关注(0)|答案(2)|浏览(207)

我试图上传一个文件,并检查它与这个简单的代码。

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);

在static文件夹中我有这个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文件作为文件输入。然后我按提交。
在控制台中,文本字段的内容按预期输出,但文件或有关它的信息无处可寻。

**Q:**req.body中的文件在哪里,如何获取相关信息?

a8jjtwal

a8jjtwal1#

bodyparser不处理文件上传所需的多部分提交。您将需要一些其他中间件,如connect-busboyconnect-multiparty
然后,您可以从req.files对象访问上传的文件。

fzwojiic

fzwojiic2#

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

相关问题