php - 通过 Cloudfront 上传到 S3

标签 php amazon-web-services amazon-s3 amazon-cloudfront

众所周知Cloudfront now supports uploading to S3通过边缘点。

但是,我不太确定该怎么做?我知道它的功能不全(即不支持授权 header 和部分上传),但我很想直接上传。

我在 PHP 中工作,虽然 API 似乎不支持它作为一种方法。做一些相当简单的事情看起来需要各种授权里程碑。

有没有人找到最好的方法来做到这一点,或者只是一些关于最佳方法的建议,因为我正在尝试 CURL POST 和其他类似的东西无济于事。

最佳答案

您可能应该阅读更多关于 browser-based POST uploads feature of Amazon S3 的信息在 AWS 文档上。执行 POST 上传到 Amazon S3 需要您发送一个特殊的 JSON 策略文档以及您的 POST 请求和上传。 S3 PostObject class在适用于 PHP 的 AWS 开发工具包中有助于根据您提供的选项生成此策略,以及生成您需要包含在表单/请求中的其他表单元素值。

虽然我还没有尝试过,但您可能只需要将 S3 存储桶端点换成您的 CloudFront 分发端点,即可通过 CloudFront 边缘位置进行上传。此外,确保您的发行版配置为接受 POST 请求。要获得对您问题的更正式的回答,我会通过 CloudFront forum 询问 Amazon CloudFront 团队。 .

关于php - 通过 Cloudfront 上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20273167/

相关文章:

javascript - 仅在从下拉列表中选择任何值时显示隐藏的 div 不起作用

php - Docker Compose LAMP 堆栈不提供 index.php

amazon-web-services - 同一域上的 CloudFront 和 API Gateway 服务

postgresql - RDS 到 S3 直接使用 pg_dump(没有中介)

php - 特定位置的 nginx 重写规则

php - PHP 中更高效的字符串清理正则表达式

amazon-web-services - 亚马逊 Lex 错误 : An error occurred (BadRequestException) when calling the PutIntent operation: RelativeId does not match Lex ARN format

postgresql - 在 EMR 上将 Postgresql JDBC 源代码与 Apache Spark 结合使用

c# - Amazon S3 上的 C# 文档在哪里?

amazon-web-services - 覆盖不属于存储桶所有者的S3对象文件的权限