gpt4 book ai didi

iphone - Amazon S3 POST 上传(从 iPhone)

转载 作者:行者123 更新时间:2023-12-03 18:39:47 25 4
gpt4 key购买 nike

一些背景知识:我正在构建一个带有互补服务器后端的 iPhone 应用程序(用 Rails 或可能是 Sinatra 编写,但可能与本讨论无关)。部分功能涉及将图片从 iPhone 上传到服务器。这些最终会存储在 S3 上,因此为了简化应用程序并节省带宽,我想直接将图片从 iPhone 上传到 S3,跳过后端服务器。

使用 S3 REST API(在这种情况下我可能会使用 ASIHTTPRequest )意味着将 AWS key 和 secret 存储在 iPhone 应用程序中,出于安全原因我不想这样做。

出于类似的原因,我不想让我的 S3 存储桶公开可写。

现在看来 S3 也支持 browser-based uploads using POST 。如果我理解正确的话,这是通过在服务器上生成签名的策略文档来实现的,然后允许客户端应用程序将文件直接 POST 到 S3。原则上这似乎不仅适用于浏览器,也适用于 iPhone 应用程序。

但是,我很难弄清楚实现此功能的确切方法(不是 iPhone 特定部分,只是一般的 S3 POST 上传)。需要将哪些信息发送到服务器才能计算签名(例如是否需要文件大小或任何其他文件信息)?我将深入研究官方文档并开始对此进行试验。

最佳答案

生成策略时,您可以通过构造 JSON 字符串以各种方式( key 名称、mime 类型、文件大小等)限制上传的内容。然后使用您的 AWS key 对这些限制(包括到期日期)进行签名。然后,您发布签名的策略,并将 key 作为表单参数访问到 AWS,以及新资源的 key 、其内容以及您喜欢的任何其他元数据。

官方 doco 是我所知道的唯一引用资料(但我也没有在 google 上搜索过它......)

http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/HTTPPOSTForms.html#HTTPPOSTConstructPolicy

是您可能最感兴趣的页面。

关于iphone - Amazon S3 POST 上传(从 iPhone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1754184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com