Какую кодировку возвращает blob.download_as_string ()? - PullRequest
0 голосов
/ 05 апреля 2019

Я загружаю файл из Google Storage в виде байтовой строки, кодирую его b64 и использую в качестве входных данных для API Google Vision.

storage_client = storage.Client(project=[PROJECT])
bucket = storage_client.get_bucket([BUCKET])
blob = bucket.blob([KEY])

content = blob.download_as_string()
b64content = base64.b64encode(content)

client = vision.ImageAnnotatorClient()
image = vision.types.Image(content=b64content)

Я получаю ошибку изображения с использованием b64content. Однако, если я использую контент не Base64, мой вызов Vision API завершается успешно:

image = vision.types.Image(content=content)

Возвращает ли blob.download_as_string () строку байтов, которая уже закодирована в base64?

1 Ответ

1 голос
/ 08 апреля 2019

Краткий ответ: нет, он не закодирован в base64.Тогда почему он работает с некодированной строкой?

Используя Python Client, вам не нужно кодировать строку, как видно здесь .Вам нужно закодировать его, если вы отправляете запрос Vision API в JSON, например этот .Вот почему вы работаете уже без base64.b64encode().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...