因此,我尝试与API进行交互,并且其中一种方法应该返回图像。我正在使用request。我没有提供有关该API的任何文档,但可以访问flask中的请求代码,该代码类似于以下内容:
@app.route('/get/image', methods=['POST'])
def send_image():
...
response = make_response(image_binary)
response.headers.set('Content-Type', 'image/png')
response.headers.set('Content-Disposition', 'attachment', id=docs[0]['_id'])
return response
基本上,应该有一个二进制图像和一些元数据。但是,当使用请求库访问API时,我真的不知道如何获取二进制和元数据。这是我目前正在尝试的示例:
const request = require('request');
requestOptions = {
headers: {
'Content-Disposition': 'attachment',
'Content-Type': 'image/png'
},
uri:'http://api_url.com:5000/get/image',
encoding:null
}
request.post(
requestOptions,
{ },//it doesnt look like it requires any data???
function (error, response, body) {
console.log(response)
console.log(body)
}
);
考虑到缺少文档,获取图像及其元数据的正确方法是什么?
更新:我能够使它与axios一起使用。
axios.post('http://api_url.com:5000/get/image', {})
.then((response) => {
var img = new Buffer(response.data, 'binary').toString('base64');
res.send(img)
})
.catch(function (error) {
console.log(error);
});
但是多数民众赞成在axios,而不是要求。因此,它并不能真正回答问题。