【发布时间】:2017-12-05 05:48:06
【问题描述】:
我无法让 python lambda 返回二进制数据。 node-template for thumbnail images 工作正常,但我无法让 python lambda 工作。以下是我的 lambda 中的相关行。 print("image_data " + image_64_encode) 行将 base64 编码的图像打印到日志中。
def lambda_handler(event, context):
img_base64 = event.get('base64Image')
if img_base64 is None:
return respond(True, "No base64Image key")
img = base64.decodestring(img_base64)
name = uuid.uuid4()
path = '/tmp/{}.png'.format(name)
print("path " + path)
image_result = open(path, 'wb')
image_result.write(img)
image_result.close()
process_image(path)
image_processed_path = '/tmp/{}-processed.png'.format(name)
print("image_processed_path " + image_processed_path)
image_processed = open(image_processed_path, 'rb')
image_processed_data = image_processed.read()
image_processed.close()
image_64_encode = base64.encodestring(image_processed_data)
print("image_data " + image_64_encode)
return respond(False, image_64_encode)
def respond(err, res):
return {
'statusCode': '400' if err else '200',
'body': res,
'headers': {
'Content-Type': 'image/png',
},
'isBase64Encoded': 'true'
}
任何指向我做错了什么的指针?
【问题讨论】:
-
lambda 在哪里?
-
你有什么解决办法吗?我也有同样的问题。
标签: python image amazon-web-services lambda binary