求助:如何获取请求数据中的二进制文件?
我用的是Egg框架,原生的ctx.getFileStream()可以获取到文件流,但是只支持multipart/form-data。 现在我对接的前端只能用application/octet-stream,所以我需要找到办法获取到请求中的二进制文件。
2 回复
可以用第三方解析包,也可以自己直接解析req(原生的nodejs req对象) 比如:
const parse = (req) => {
return new Promise((resolve, reject) => {
let chunks = [];
let size = 0;
req.on('data', function (chunk) {
chunks.push(chunk);
size += chunk.length;
});
req.on("end", function () {
let buffer = Buffer.concat(chunks, size);
return resolve(buffer);
});
req.on('error', function(err) {
return reject(err);
})
});
}
@alwayslyp 谢谢,按照你提供的代码解决了。顺便再问下,有什么第三方解析包,我知道有个busboy,但只能解析multipart/form-data