У меня есть лямбда-функция, написанная на Go , которая должна позволять загрузку файла изображения - через форму HTML / JavaScript и интеграцию API-шлюза - в корзину S3, всеопределено в шаблоне SAM .
Вот пример журнала выполнения лямбда-функции:
Сейчаспроблема в том, что для любых файлов JPEG или PNG я получаю искаженные результаты:
- Размер файла результирующего изображения (то, что я получаю после анализа мультимедийного сообщения
multipart
) больше исходногонапример, размер файла: от 8 КБ (оригинал) до 12 КБ (сегмент S3). - Когда я сравниваю исходные файлы PNG или JPEG с результирующими файлами в сегменте S3 с
hexdump
, они почти выглядят одинаково (чтодолжен сказать: я сомневаюсь, что есть проблема с кодировкой base64). - Интересно, что для
text/plain
типа носителя эта настройка работает.
Я пытался выяснить, гдевещи ломаются и в настоящий момент мое предчувствиев конфигурации шлюза API что-то отсутствует.FWIW, я пробовал это, но без видимых изменений в поведении:
$ aws apigateway update-integration-response \
--rest-api-id XXX --resource-id XXX \
--http-method POST --status-code 200 \
--patch-operations op='replace',path='/contentHandling',value='CONVERT_TO_BINARY'`