使用 nodejs 客户端库将图像作为 base64 编码发送到 google 云视觉 API

sending an image as a base64 encoded to google cloud vision API using the nodejs client library

我正在使用 Google 云 Web 检测 API 的 nodejs 客户端库,我想将 base64 编码的图像传递给它,但没有关于它的文档。我使用简单的 API 调用尝试了它并且它有效,但由于客户端库更整洁,我想知道他们是否也在那里实现了它。 有什么想法吗?

所以解决方法是只使用 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"
        }
      ]
    }
  ]
}

事实上你应该可以发送 base64-encoded image using the Cloud Vision API Client Library for Node.js.

使用时webDetection() method from your ImageAnnotatorClient instance, the request field should include an AnnotateImageRequest object which, on its part, includes an image object. That image object has the structure represented in this documentation page。如您所见,它可以包括图像所在的 sourcecontent 表示形式的字节流。

此外,如果您查看 google.cloud.vision.v1.Image definition in proto format,您会发现它确实将 source内容.