[英]API Gateway adding size to POST?
我正在构建一个应用iOS,该应用使用非常受欢迎的AlamoFire HTTP库上传图片; 这是代码:
let headers: HTTPHeaders = ["Accept": "application/vnd.apple.pkpass; application/json"]
Alamofire.upload(profileImageData, to: "the-endpoint"), method: .post, headers: headers)
.uploadProgress { progress in
print("Upload progress: \(progress.fractionCompleted)")
}.downloadProgress { progress in
print("Download progress: \(progress.fractionCompleted)")
}.responseData { response in
print("--> do something response")
}
注意 profileImageData
是Swift Data的形式。
如果将“ the-endpoint”设置为直接POST到服务器,则一切正常。 会进行一些处理,并且图像可以很好地保存到S3。
但是,如果我将“ the-endpoint”设置为使用AWS API Gateway,则情况会变得很糟糕。
具体来说,保存到S3的图像已损坏且无法查看。 在检查中,最令我印象深刻的是请求大小的巨大差异。
我希望这与AlamoFire正在发布application/x-www-form-urlencoded
的事实有关,但是我不知道该怎么办。 我对API网关还很陌生,所以我真的很困惑。
请让我知道我是否可以提供帮助诊断我做错了什么。
我能够通过阅读文档解决此问题。 具体来说,我将application/x-www-form-urlencoded
为Binary Media Type
,并将“ Method Request
和“ Integration Request
为仅传递内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.