Mir*_*ich 7 iphone post amazon amazon-s3 amazon-web-services
一点背景:我正在构建一个带有补充服务器后端的iPhone应用程序(用Rails或可能的Sinatra编写,但可能与此讨论无关).部分功能涉及将图片从iPhone上传到服务器.这些最终存储在S3上,因此为了简化应用程序并节省带宽,我想将图片直接从iPhone上传到S3,跳过我的后端服务器.
使用S3 REST API(在这种情况下我可能会使用ASIHTTPRequest)意味着将AWS密钥和密钥存储在iPhone应用程序中,出于安全原因我不想这样做.
出于类似的原因,我不想让我的S3桶公开写入.
现在看起来S3也支持使用POST进行基于浏览器的上传.如果我理解正确,这可以通过在服务器上生成签名的策略文档来工作,然后允许客户端应用程序直接将文件POST到S3.看起来原则上这不仅适用于浏览器,也适用于iPhone应用程序.
但是,我很难搞清楚这个工作的确切方式(不是iPhone特定的部分,一般只有S3 POST上传).需要将哪些信息发送到服务器才能计算签名(例如,是否需要文件大小或任何其他文件信息)?我将更多地阅读官方文档,并开始尝试这个,但如果有人可以指向我一些教程或示例代码,那将非常感激.
生成策略时,您可以通过构造JSON字符串来限制以各种方式(键名,mime类型,文件大小等)上载的内容.然后使用您的AWS密钥对这些限制(包括expirydate)进行签名.然后,您发布已签名的策略,并将密钥作为表单参数访问AWS,同时访问新资源的密钥,内容以及您喜欢的任何其他元数据.
官方doco是我所知道的唯一参考(但我还没有用Google搜索...)
http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/HTTPPOSTForms.html#HTTPPOSTConstructPolicy
是您可能最感兴趣的页面.
| 归档时间: |
|
| 查看次数: |
3828 次 |
| 最近记录: |