Разбор jamba-тела multipart / form-data в Java - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь реализовать функцию Lambda, которая получает запрос POST, содержащий данные, закодированные как multipart / form-data.Сообщение принимается через шлюз API с использованием интеграции Lambda Proxy, а тело кодируется в Base64, когда оно поступает в функцию Lambda.После декодирования вручную, я вижу, что он содержит многочастное тело, подобное следующему:

-----WebKitFormBoundary3EZ0C3tbP2JpAmz4
Content-Disposition: form-data; name="param1"

value1
-----WebKitFormBoundary3EZ0C3tbP2JpAmz4
Content-Disposition: form-data; name="param2"

value2
------WebKitFormBoundary3EZ0C3tbP2JpAmz4
Content-Disposition: form-data; name="myfile"; filename="ivr.png"
Content-Type: image/png

PNG
... [binary stuff]
------WebKitFormBoundary3EZ0C3tbP2JpAmz4--

Мне нужно проанализировать это сообщение в java 8., чтобы я мог получить доступ к отдельным частям, таким как

1. form data 
2  file content

Я пытался загрузить файл, Apache Multipart, которые не тренировались

Любые золи будут полезны.

1 Ответ

0 голосов
/ 05 декабря 2018

Я столкнулся с аналогичной проблемой с моим приложением.Я использовал и изменил собственный анализатор данных формы здесь: https://apimeister.com/2015/10/10/formdatahandler-implements-com-sun-net-httpserver-httphandler.html

Я получил его для правильного анализа, однако двоичные данные были искажены, как здесь: https://github.com/dherault/serverless-offline/issues/230

Как вы получили весь код AWS Lambda для кодирования в base64?Можете ли вы опубликовать инструкции для этого?Это может исправить проблему с искаженными данными, с которой я столкнулся.

...