此问题是this answer的后续问题。我问这个问题是因为我没有足够的声誉来发表评论。
我正在尝试编写一个Android应用程序,该应用程序将获取图像并将其发送到Node.js服务器。
我在上面链接的帖子中找到了这段代码,但它给我留下了原始数据缓冲区。如何将该缓冲区的内容另存为JPEG图像?
app.post('/upload-image', rawBody, function(req, res) {
if (req.rawBody && req.bodyLength > 0) {
// TODO save image (req.rawBody) somewhere
// send some content as JSON
res.send(200, {
status: 'OK'
});
} else {
res.send(500);
}
});
function rawBody(req, res, next) {
var chunks = [];
req.on('data', function(chunk) {
chunks.push(chunk);
});
req.on('end', function() {
var buffer = Buffer.concat(chunks);
req.bodyLength = buffer.length;
req.rawBody = buffer;
next();
});
req.on('error', function(err) {
console.log(err);
res.status(500);
});
}
答案 0 :(得分:0)
您可以简单地使用writeFile
将文件路径作为第一个参数传递,将buffer
作为第二个参数传递,并在文件写入后回调执行代码。
或者,使用writeFileSync,它是writeFile的同步版本,不会进行回调