通过PUT请求将图像文件上传到S3时文件损坏(Amazon S3代理)

时间:2019-05-07 15:23:58

标签: amazon-web-services amazon-s3 aws-api-gateway

我一直在使用本教程(尤其是有关上传/下载二进制文件的部分)作为指南:https://docs.aws.amazon.com/apigateway/latest/developerguide/integrating-api-with-aws-services-s3.html

我的问题是,当我通过AWS S3代理将jpg / png文件上传到S3时,文件最终损坏了。一旦在S3中结束,它们最终将具有稍大的文件大小。我通过PUT请求上传的文本文件不是这种情况-它们的文件大小不会更改,在浏览器中打开和阅读它们也没有问题。

作为上述指南,我确保将要上传的所有文件类型添加到“二进制媒体类型列表”中。我的标头中也需要Content-Type(这是我目前仅包含在标头中的内容,因为我尚未设置API密钥-我缺少什么吗)。我的二进制媒体类型列表中的文件类型为:

image / png

图片/ jpg

文本/纯文本。

最后,按照教程的建议,我确保将“内容处理”设置为“直通”。我不确定自己在做什么错。我尝试将数据作为编码的64位字符串发送(不确定是否需要),但是问题仍然存在。 (我也将其作为未加密的数据发送)。我正在使用python3和请求库发出请求。有什么想法或建议吗?

1 个答案:

答案 0 :(得分:-1)

为以后的参考,该问题主要是由于在API Gateway中处理了二进制数据,并且已得到here的回答