我尝试上传文件并使用这个简单的代码进行检查。
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中的文件位于何处,以及如何访问有关该文件的信息?
答案 0 :(得分:1)
bodyparser
不处理文件上传所需的多部分提交。您将需要一些其他中间件,例如connect-busboy
或connect-multiparty
。
然后,您可以从req.files
对象访问上传的文件。
答案 1 :(得分:0)
您应该使用文件系统核心模块将正文的内容写入文件。