首页 > 解决方案 > 将图像文件发送到 AWS Lambda 函数

问题描述

我正在尝试使用 Python 将一张图像发送到我的 Lambda 函数,只是为了测试一个项目,但 Postman 给了我一个错误,我不知道如何解决它。

我的代码只是检测我是否在关键“图像”中有一些数据并返回一些消息。我正在使用 Postman 发送 POST 请求,单击Body选项卡,选择 form-data 选项并为密钥编写图像并从计算机中选择图像文件(图像大小为 27 kb)。这是我的 Lambda 函数中的代码:

def lambda_handler(event, context):
    if event['image']:
        return {
            "Message": 'Everything went ok'
        }

这是我从邮递员那里收到的错误消息:

{“消息”:“无法将请求正文解析为 json:数值中的意外字符('-'(代码 45)):预期数字 (0-9) 跟随减号,对于有效数值\n 在 [Source : (byte[])"----------------------------137965576541301454606184\r\n内容-处置:表单-数据;名称=“图像”;filename="TestImage.png"\r\nContent-Type: image/png\r\n\r\n�PNG\r\n\n ... }

标签: pythonamazon-web-servicesapiaws-lambda

解决方案


为了解决这个问题,我需要将我的相机设置为将图像转换为base64,然后将其上传到服务器。

在服务器中,我再次对其进行转换,然后根据需要使用它。Base64 是一组二进制到文本的编码方案,通过将其转换为 radix-64 表示形式,以 ASCII 字符串格式表示二进制数据。

因此,您将图像转换为字符串然后发送,这是我发现上传图像的最佳方式。


推荐阅读