将原始缓冲区数据转换为JPEG图像

时间:2019-08-05 16:46:05

标签: javascript android node.js

此问题是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);
    });
}

1 个答案:

答案 0 :(得分:0)

您可以简单地使用writeFile

将文件路径作为第一个参数传递,将buffer作为第二个参数传递,并在文件写入后回调执行代码。

或者,使用writeFileSync,它是writeFile的同步版本,不会进行回调

相关问题