请帮我理解通过PHP将文件上传到Amazon S3服务器的过程。我有一个关于EC2的网站,它将使用PHP脚本将文件从客户机上传到S3服务器。我需要了解的是,文件是从客户端机器直接进入S3还是先上传到EC2,然后再上传到S3。如果是第二种选择,那么如何优化上传,以便文件从客户机直接传输到S3?如何通过EC2上的PHP脚本上传到S3?
1
A
回答
4
可以使用您指定的任何场景将文件上载到S3。
在第一种情况下,文件被上传到EC2上的PHP后端,然后通过PUT请求将其从PHP上传到S3。基本上,在这种情况下,所有上传都通过您的EC2服务器。
第二种选择是将文件直接从客户端的浏览器上传到S3。这是通过将POST请求直接用于S3以及可以使用PHP逻辑生成的策略并将其附加到POST请求来完成的。这项政策基本上是一套允许S3接受上传的规则(没有任何人能够上传任何内容)。
在第二种情况下,EC2上的PHP脚本只需要生成一个有效的上传策略,但上传的实际文件将直接转到S3,而不会通过EC2服务器。
你可以在这里的第二个方案的详细信息:
http://aws.amazon.com/articles/1434
即使它不是PHP具体,它说明了如何生成策略,以及如何形成的POST请求。
您也可以通过API文档阅读POST请求获得更多的信息:
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html
编辑:PHP的官方AWS SDK包含了这样一个辅助类:http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.S3.Model.PostObject.html
相关问题
- 1. 直接上传到S3或通过EC2?
- 2. 将脚本从AWS EC2上传到S3的Shell脚本
- 3. 直接上传到S3 vs通过EC2上传
- 4. 通过Cloudfront上传到S3
- 5. Android - 通过PHP脚本上传图片
- 6. AWS Windows EC2从S3上传
- 7. 如何通过node.js将Heroku上传到s3上?
- 8. awscli s3:通过stdin上传
- 9. 从EC2 VPC内上传到S3
- 10. 将图片从EC2上传到S3
- 11. 从ec2上传文件到s3
- 12. 通过AFNetworking上传到Amazon-S3
- 13. 通过CloudFront将内容上传到S3
- 14. 通过ruby脚本将CSV文件上传为Amazon S3
- 15. 通过外部php脚本将图片上传到Facebook
- 16. PHP上传脚本
- 17. php上传脚本
- 18. NodeJS:通过Knox上传纯文本到S3,我得到statusCode = 505?
- 19. 通过没有aws-cli的shell脚本上传到S3,可能吗?
- 20. 上传到云文件或S3跳过脚本主机
- 21. 上传文本文件到谷歌上传通过PHP FTP PUT
- 22. 如何通过烧瓶上传文件到ec2实例
- 23. 无法通过PHP将1GB文件上传到Amazon S3表单
- 24. 如何将上传的图像存储到AWS上的PHP S3
- 25. 如何通过PHP文件上传到MySQL上传文本,pdf,doc,zip文件
- 26. 如何通过表单数据将文件上传到amzon s3?
- 27. 如何将.jar上传到S3并通过maven使用它?
- 28. 如何通过SSL将文件直接上传到S3?
- 29. 如何通过samba将文件上传到Amazon S3服务器?
- 30. 如何通过nodejs从Angularjs上传文件到s3
谢谢!正是我需要知道的。 –
了不起的信息!但作为无能的程序员,你是否知道我可以看到的现有实现?任何开源项目? – Paolo