Python 3.x 通过API Gatway将Base64过账至AWS Lambda

Python 3.x 通过API Gatway将Base64过账至AWS Lambda,python-3.x,amazon-web-services,base64,Python 3.x,Amazon Web Services,Base64,我想创建一个python代码将base64图像上传到AWS Lambda,然后Lambda函数应该将图像上传到S3 bucket,问题是当我将图像上传到Lambda时,Lambda得到的图像与本地编码的base64代码完全不同 这是我的python代码 import base64 import requests import json if __name__ == '__main__': with open("adobe.jpg", "rb") as

我想创建一个python代码将base64图像上传到AWS Lambda,然后Lambda函数应该将图像上传到S3 bucket,问题是当我将图像上传到Lambda时,Lambda得到的图像与本地编码的base64代码完全不同

这是我的python代码

import base64
import requests
import json

if __name__ == '__main__':
  with open("adobe.jpg", "rb") as image_file:
    encoded_string = base64.b64encode(image_file.read())
  URL = "https://8hvo63pa1d.execute-api.us-west-2.amazonaws.com/CamilaUploadS3"
  data = encoded_string.decode('utf-8')
  myobj = {"data":data}
  print(myobj)
  x = requests.post(URL, data = myobj)
编码的base64是这样的

'/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBA
接收lambda函数的base64类似于

ZGF0YT0lMkY5aiUyRjRBQVFTa1pKUmdB
当我解码本地抛出的base64代码时,它会正确显示图像;当我解码lambda抛出的base64代码时,它不会显示图像

知道为什么会这样吗?

看看我的答案;