Отправка изображения в виде base64, закодированного в API Google Cloud Vision с использованием клиентской библиотеки nodejs
Я использую клиентскую библиотеку nodejs API облачного веб-обнаружения Google, и я хотел передать ему изображение в кодировке base64, но документации по нему нет. Я попробовал это, используя простые вызовы API, и это работает, но так как клиентская библиотека более аккуратна, мне было интересно, реализовали ли они и там. Любая идея?
2 ответа
Фактически вы должны иметь возможность отправлять изображения в кодировке base64 с помощью клиентской библиотеки API Cloud Vision для Node.js.
При использовании webDetection()
метод из вашего ImageAnnotatorClient
Например, request
поле должно включать AnnotateImageRequest
объект, который, со своей стороны, включает в себя image
объект. Тот image
Объект имеет структуру, представленную на этой странице документации. И, как вы можете видеть, он может включать в себя source
где находится изображение или content
представление в виде потока байтов.
Кроме того, если вы посмотрите на google.cloud.vision.v1.Image
определение в прото-формате, вы увидите, что в качестве определения изображения он принимает либо источник, либо контент.
Поэтому обходным путем будет просто использовать 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"
}
]
}
]
}