所以我们都知道Cloudfront now supports uploading to S3通过边缘点。
但是,我不确定该怎么做?我知道它不会功能齐全(即不支持授权标题和部分上传),但我很想直接上传。
我正在使用PHP,虽然它似乎不支持API作为一种方法。做一些相当简单的事情看起来需要各种授权里程碑。
有没有人找到最好的方法来做到这一点,或者只是为了最佳方式提出一些建议,因为我正在尝试CURL POST和其他类似的事情无济于事。
答案 0 :(得分:4)
您应该阅读有关AWS文档上browser-based POST uploads feature of Amazon S3的更多信息。执行POST上传到Amazon S3需要您发送特殊的JSON策略文档以及POST请求并上传。 AWS SDK for PHP中的S3 PostObject
class有助于根据您提供的选项生成此策略,以及生成您需要在表单/请求中包含的其他表单元素值。
虽然我还没有尝试过,但您可能只需要为您的CloudFront分配端点换出S3存储桶端点,以便通过CloudFront边缘位置进行上传。此外,请确保将您的分发配置为接受POST请求。为了更准确地回答您的问题,我会在CloudFront forum上询问Amazon CloudFront团队。
答案 1 :(得分:1)
你现在应该能够做到这一点,我会再试一次。在签署您的请求时,请确保使用S3存储桶的DNS名称,而不是您的CloudFront分配。