AWS Chalice从S3返回图像文件

时间:2017-05-24 05:49:08

标签: python amazon-s3 aws-api-gateway chalice

我正在使用Chalice构建一个简单的无服务器应用程序,它从S3返回一个图像文件。

我能够在64位编码后返回文件。但我想知道如何返回二进制文件,以便用户可以将其作为文件下载?我的以下代码无效。

UserRepository

2 个答案:

答案 0 :(得分:0)

Chalice中的一个错误已于2019年5月14日修复,目前在github的master分支中可用:

https://github.com/aws/chalice/issues/1095

我遇到了一个与您类似的问题,并且已通过直接从github获取最新版本的Chalice来解决此问题。

答案 1 :(得分:-1)

确保ContentHandling attribute of the IntegrationResponse设置为CONVERT_TO_BINARY。在AWS控制台中,导航到二进制方法的IntegrationResponse页面,然后选择“转换为二进制(如果需要)”。

Integration Response ContentHandling dropdown 如果您对CLI感到满意,也可以使用如下命令。

aws apigateway update-integration-response --rest-api-id foobar 
    --resource-id barfoo --http-method GET --status-code 200 
    --patch-operations op='replace',path='/contentHandling',value='CONVERT_TO_BINARY'