我有一个缓冲区,它是从用户上传的图像中获取的,然后我想在multipart/form-data POST请求中将其发送到另一个API。
然而,我在请求对象方面遇到了问题。我想发送流或缓冲区,而不是访问本地服务器文件系统/创建临时文件。我对流的概念还比较新。
我可以通过以下方式正确发送API:
image_file: fs.createReadStream('image.png')
但是当我尝试使用以下方式时:
image_file: data // buffer
API返回错误,说我缺少'image_file'参数。
请帮忙解决!
这是我相关的代码:
app.post('/', (req, res) => {
const url = 'https://api-us.faceplusplus.com/facepp/v3/detect';
let data = [];
req.on('data', (chunk) => {
data.push(chunk)
})
req.on('end', (req, res) => {
data = Buffer.concat(data);
const formData = {
api_key: process.env.FACEPP_API_KEY,
api_secret: process.env.FACEPP_API_SECRET,
// image_file: fs.createReadStream('image.png') // works
image_file: data // doesnt work
}
const options = {
uri: url,
method: 'POST',
formData
}
request(options, (err, response, body) => {
if (err) console.log(err)
console.log(body)
})
})
})