Как получить изображение из запроса POST в Google Cloud Function с Python? - PullRequest
0 голосов
/ 01 августа 2020

Я изо всех сил пытаюсь собрать изображение, отправленное через POST-запрос в облачную функцию GCP.

Я просмотрел совет здесь о том, как упаковать файл с помощью POST-запроса .

Я бы хотел, чтобы функция реконструировала изображение из байтов для дальнейшей обработки, каждый раз, когда я отправляю запрос, я получаю ответ «Ошибка». Любая помощь будет очень признательна!

### client_side.py
import requests

url = 'https://region-project.cloudfunctions.net/function' # Generic GCP functions URL
files = {'file': ('my_image.jpg', open('my_image.jpg', 'rb').read(), 'application/octet-stream')}
r = requests.post(url, files=files)

### gcp_function.py
from io import BytesIO

def handler(request):
    try:
        incoming = request.files.get('file')
        bytes = BytesIO(incoming)
        image = open_image(bytes)
        message = 'Success'
    except:
        message = 'Failure'
    return message

1 Ответ

0 голосов
/ 03 августа 2020

Сортировано.

Требуется метод чтения для преобразования объекта FileStorage в байты.

### gcp_function.py
from io import BytesIO
import logging

def handler(request):
    try:
        incoming = request.files['file'].read()
        bytes = BytesIO(incoming)
        image = open_image(bytes)
        message = 'Success'
    except Exception as e:
        message = 'Failure'
        logging.critical(str(e))
    return message

...