Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用API网关在Lambda中调整大小后在浏览器上显示图像_Python_Image_Amazon Web Services_Amazon S3_Lambda - Fatal编程技术网

Python 使用API网关在Lambda中调整大小后在浏览器上显示图像

Python 使用API网关在Lambda中调整大小后在浏览器上显示图像,python,image,amazon-web-services,amazon-s3,lambda,Python,Image,Amazon Web Services,Amazon S3,Lambda,我试图创建一个lambda函数,它可以调整s3中的图像大小,并通过API网关对其进行响应 该请求到达API网关端点并触发lambda函数。lambda函数调整它的大小,并尝试将响应作为二进制文件提供给它,但它不能这样做 我已经用Python开发了lambda函数 这是我的API网关中的集成响应配置。 这是方法响应配置。 这是二进制支持配置。 调整代码大小没有任何问题,因为它可以调整s3上的图像大小,并将其成功上载到ResizeS3存储桶中。 但当我尝试以二进制方式响应它时,API网关无法响

我试图创建一个lambda函数,它可以调整s3中的图像大小,并通过API网关对其进行响应

该请求到达API网关端点并触发lambda函数。lambda函数调整它的大小,并尝试将响应作为二进制文件提供给它,但它不能这样做

我已经用Python开发了lambda函数

这是我的API网关中的集成响应配置。

这是方法响应配置。

这是二进制支持配置。

调整代码大小没有任何问题,因为它可以调整s3上的图像大小,并将其成功上载到ResizeS3存储桶中。 但当我尝试以二进制方式响应它时,API网关无法响应它,我不知道为什么

这是Lambda中的响应代码

upload_path = /tmp/resized-test.jpg
with open(upload_path, 'rb') as f:
        image_content = f.read()

    encoded_string = str(binascii.hexlify(image_content))

    return {
        'header': {
            'Content-Type': content_type
        },
        'body': encoded_string
    }

作为响应,您可以发送已调整大小的图像的URL吗?这将更容易实现…@Deepak你的意思是我响应s3大小的URL并在API网关中通过301重定向它吗?是的;或者在客户端,一旦收到调整大小的URL,就可以在客户端重定向,或者打开一个包含返回URL的新选项卡。。在客户端进行操作将更加方便simpler@Deepak事实上,这个301看起来更好,但我不确定当URL被重定向时浏览器是如何工作的。作为响应,你能发送大小调整后的图像的URL吗?这将更容易实现…@Deepak你的意思是我响应s3大小的URL并在API网关中通过301重定向它吗?是的;或者在客户端,一旦收到调整大小的URL,就可以在客户端重定向,或者打开一个包含返回URL的新选项卡。。在客户端进行操作将更加方便simpler@Deepak事实上,这301似乎更好,但我不知道当URL被重定向时浏览器是如何工作的。