我试图上传一个文件,并检查它与这个简单的代码。
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中的文件在哪里,如何获取相关信息?
2条答案
按热度按时间a8jjtwal1#
bodyparser
不处理文件上传所需的多部分提交。您将需要一些其他中间件,如connect-busboy
或connect-multiparty
。然后,您可以从
req.files
对象访问上传的文件。fzwojiic2#
你应该使用文件系统的核心模块来将正文的内容写入文件。