我试图建立一个快速和简单的图像上传服务与节点,这需要收到的图像,并将它们保存到Mongo的GridFS。快速响应正文到缓冲区
GridFS的获得需要一个缓冲对象NodeJS Mongo Driver GridFS put
的问题很简单:我怎么投究竟/接收到的请求体转变为一个适当的缓冲。
到目前为止我的代码(只有重要的部分): api.js
var express = require('express');
var connect = require('connect');
var app = module.exports = express.createServer();
app.configure(function(){
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
});
var upload = require('./upload.js');
app.post('/upload', upload.upload);
upload.js
exports.upload = (function(req, res, next){
console.log("Uploading image...");
// Create buffer
// Rest of the code
}
我已经试过:
var buffer = new Buffer(util.inspect(req.body),'binary');
创建缓冲区,但它有一个错误的大小,可能不是正确的内容,因为util.inspect显然不是正确的方法走。
And: var buffer = new Buffer(req.body); 结果:
[Decode error - output not utf-8][Decode error - output not utf-8]
缓冲区长度= 0
我很新的这两个节点和JavaScript的总体发展,所以也许我失去了一些东西很简单,不要犹豫,点明显:)
谢谢!
Express 4.0使用现在独立的body-parser模块,它不再具有multipart支持https://github.com/expressjs/body-parser/ – 2015-03-27 09:48:42