我正在尝试使用 Node 构建一个快速简单的图像上传服务,它将接收到的图像保存到 Mongo 的 GridFS 中。
GridFS get 需要一个 Buffer 对象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);
上传.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 显然不是正确的方法。
并且: var buffer = new Buffer(req.body); 结果:
[Decode error - output not utf-8][Decode error - output not utf-8]
缓冲区长度 = 0
一般来说,我对 Node 和 JavaScript 开发都很陌生,所以我可能遗漏了一些非常简单的东西,请毫不犹豫地指出显而易见的东西:)
谢谢!