csi*_*ilk 5 amazon-s3 amazon-web-services aws-api-gateway
正如标题一样,我似乎无法让它工作,我正在遵循此处详述的高级指南,但上传的任何图像似乎都是空白的。
我设置了什么:
/images/{object} - PUT
> Integration Request
AWS Region: ap-southeast-2
AWS Service: S3
AWS Subdomain [bucket name here]
HTTP method: PUT
Path override: /{object}
Execution Role [I have one set up]
> URL Path Paramaters
object -> method.request.path.object
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 Postman 发送带有 Content-Type: image/png 的 PUT 请求,并且正文是 png 文件的二进制上传。
我也试过使用 curl:
curl -X PUT -H "Authorization: Bearer [token]" -H "Content-Type: image/gif" --upload-file ~/Pictures/bart.gif https://[api-url]/dev/images/cool.gif
Run Code Online (Sandbox Code Playgroud)
它在服务器上创建文件,大小似乎是上传的两倍,查看时我只是得到“图像有错误”。
当我尝试使用 .txt 文件(内容类型:文本/纯文本)时,它似乎可以工作。
有任何想法吗?
在阅读了大量内容并与 AWS 技术支持人员交谈后,问题似乎是您无法通过 API Gateway 进行二进制上传,因为任何通过的内容都会自动经过 UTF-8 编码。
我能想到一些解决方法,我的解决方案是在上传之前对文件进行 Base64 处理,并在文件到达存储桶时触发 lambda 对其进行解码
| 归档时间: |
|
| 查看次数: |
2400 次 |
| 最近记录: |