使用nodejs客户端库将图像作为base64编码发送到google云视觉API
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用nodejs客户端库将图像作为base64编码发送到google云视觉API相关的知识,希望对你有一定的参考价值。
我正在使用Google云端Web检测API的nodejs客户端库,我想将base64编码的图像传递给它,但没有关于它的文档。我尝试使用简单的API调用它,但它工作,但由于客户端库更整洁我想知道他们是否也在那里实现了它。任何的想法?
答案
事实上,你应该能够使用base64-encoded image发送Cloud Vision API Client Library for Node.js。
当使用webDetection()
method实例中的ImageAnnotatorClient
时,request
字段应该包含一个AnnotateImageRequest
对象,其中包括一个image
对象。 image
对象具有此documentation page中表示的结构。正如您所看到的,它可以包括图像所在的source
或content
表示为字节流。
此外,如果你看一下google.cloud.vision.v1.Image
definition in proto format,你会发现它确实需要作为图像定义来源或内容。
另一答案
因此,解决方法是使用API传递base64:
request({
url: "https://vision.googleapis.com/v1/images:annotate",
method: "POST",
qs: {
key: "your key"
},
json: true,
body: {
"requests": [
{
"image": {
"content": place your base64 here(without prefix)
},
"features": [
{
"type": "WEB_DETECTION"
}
]
}
]
}
以上是关于使用nodejs客户端库将图像作为base64编码发送到google云视觉API的主要内容,如果未能解决你的问题,请参考以下文章
获取 Base64 编码的图像并使用 ExpressJS 作为图像发送
在 NodeJs 中解码 base64 编码的 webm 视频