【发布时间】:2018-02-08 09:41:51
【问题描述】:
如标题所示,我似乎无法使用它,我正在遵循详细的高级指南 here 但上传的任何图像似乎都是空白的。
我设置了什么:
/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
我正在尝试使用 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
它在服务器上创建文件,大小似乎是以前上传的两倍,查看时我只是得到“图像有错误”。
当我尝试使用 .txt 文件(内容类型:文本/纯文本)时,它似乎可以工作。
有什么想法吗?
【问题讨论】:
-
在 S3 中实际创建的对象是否也具有正确的 Content-Type,如控制台所示? S3中的ETag是否与原始文件的md5哈希匹配?
-
内容类型好像是一样的,一个md5不匹配ETag...有趣
-
本地文件 md5 也与上传文件的 md5 不匹配(如果我再次下载),只是尝试了 .txt 文件,它们似乎可以工作:|
-
用这个额外的信息更新了原始问题:)
标签: amazon-web-services amazon-s3 aws-api-gateway