【发布时间】:2019-08-05 16:46:05
【问题描述】:
这个问题是this answer 的后续问题。我问这个问题是因为我没有足够的声誉来制作 cmets。
我正在尝试编写一个获取图像并将其发送到 Node.js 服务器的 Android 应用程序。
我在上面链接的帖子中找到了这段代码,但它给我留下了一个原始数据缓冲区。如何将此缓冲区的内容保存为 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);
});
}
【问题讨论】:
-
您是否以某种方式验证或筛选客户端设备或服务器上的文件类型?如果有人上传 PNG,如果不先转换,就无法将其保存为 JPEG。
-
您好,感谢您的回复。没有筛选或验证。我只需要将用户手机应用中的图片上传到服务器,用matlab处理即可。
标签: javascript android node.js