有点背景:我正在构建一个补充服务器后端(用Rails或可能Sinatra编写,但可能与本次讨论无关)的iPhone应用程序。部分功能涉及将图片从iPhone上传到服务器。这些最终会存储在S3上,所以为了简化应用并节省带宽,我想直接从iPhone上传图片到S3,跳过我的后端服务器。亚马逊S3 POST上传(来自iPhone)
使用S3 REST API(在这种情况下,我可能会使用ASIHTTPRequest)意味着将AWS密钥和机密存储在iPhone应用程序中,我不想出于安全原因进行操作。
由于类似的原因,我不想让我的S3存储桶公开可写。
现在看起来S3也支持browser-based uploads using POST。如果我理解正确,这可以通过在服务器上生成一个签名的策略文档来工作,然后客户端应用程序可以直接将文件发布到S3。原则上这似乎不仅适用于浏览器,也适用于iPhone应用程序。
但是,我很难弄清楚获得这个工作的确切方式(不是iPhone的特定部分,只是S3 POST上传)。需要将哪些信息发送到服务器以计算签名(例如,是否需要文件大小或任何其他文件信息)?我会更深入地挖掘官方文档,并开始尝试这一点,但如果有人能指点我一些教程或示例代码,那将非常感激。
感谢您的解释。我希望可能会有更多的教程,但回想起来,它好像亚马逊文档有所有必要的信息,所以我应该开始试验它。 – 2009-11-19 15:14:24
此网址无效 – Deepak 2017-02-07 12:05:46