serverless-apigw-binary icon indicating copy to clipboard operation
serverless-apigw-binary copied to clipboard

how to accept a binary file

Open amitm02 opened this issue 7 years ago • 1 comments

I'm attempting to crate a lambda function in python that accepts an image file via a POST request. I've managed to config your plugin to my serverless service, and indeed i can see in the console the api gateway accepts image/png. However, I failed to understand how i can access the image data in the lambda.

Should it be in "event['body']"? Is it Base64Encoded?

trying to decode it i get:

[INFO]	2018-01-08T11:32:42.54Z	9c53dd3c-f467-11e7-832c-a9255a9beabd	API isBase64Encoded=False
[INFO]	2018-01-08T11:32:42.54Z	9c53dd3c-f467-11e7-832c-a9255a9beabd	body type=<class 'str'>
[INFO]	2018-01-08T11:32:42.54Z	9c53dd3c-f467-11e7-832c-a9255a9beabd	body len: 400582
[INFO]	2018-01-08T11:32:42.54Z	9c53dd3c-f467-11e7-832c-a9255a9beabd	content-type: multipart/form-data; boundary=--------------------------913555983037172620420628
[INFO]	2018-01-08T11:32:42.54Z	9c53dd3c-f467-11e7-832c-a9255a9beabd	b64decoding...
string argument should contain only ASCII characters: ValueError
Traceback (most recent call last):
File "/var/task/ocr.py", line 93, in OCROnUpload
img = b64decode(body)
File "/var/lang/lib/python3.6/base64.py", line 80, in b64decode
s = _bytes_from_decode_data(s)
File "/var/lang/lib/python3.6/base64.py", line 39, in _bytes_from_decode_data
raise ValueError('string argument should contain only ASCII characters')
ValueError: string argument should contain only ASCII characters

amitm02 avatar Jan 08 '18 11:01 amitm02

Lo pudiste resolver ? tengo el mismo problema :/

juangonzaq avatar Oct 09 '19 17:10 juangonzaq