0

这个问题我以前也问过,但是信息太少被删了。这次我会尽量说得更具体一些。

我有一个 Objective-C mac 应用程序,它应该允许用户将文件上传到 S3 存储。s3 存储是我的,用户没有亚马逊账户。到目前为止,这些文件都是直接上传到亚马逊服务器的。在考虑了更多之后,关于安全性和灵活性,这并不是一个很好的概念。我想在两者之间添加一个服务器。用户应该通过我的服务器进行身份验证,如果身份验证成功,服务器将打开一个会话,并且可以开始文件共享。

现在我的问题。我想将文件上传到 S3。一种选择是发出 POST 请求并等待服务器接收到文件。这里的问题是,当文件从我的服务器上传到 S3 服务器时会有延迟,这会使上传时间加倍。

最好是,如果我可以验证请求,然后重定向它,以便客户端将其直接上传到 s3-storage。不确定这是否可能。

直接上传到 S3 似乎不是很聪明。在查看了 Droplr 和 Dropmark 等其他应用程序后,看起来他们并没有这样做。顺便提一句。我用小飞贼做到了这一点。

他们在自己的网络服务器上有自己的 api,就是这样。

有人可以帮我清理一下吗?

编辑 我应该如何将我的文件传输到 S3?有没有办法“转发”它,还是我必须将它上传到我的服务器,然后从那里上传到 S3?就像我说的,其他应用程序可以有效地做到这一点,而无需直接与 S3 通信。

4

1 回答 1

1

如果身份验证在您的服务器上进行管理,但您不想要两次上传,请查看 AWS/IAM 临时安全凭证。

http://aws.amazon.com/releasenotes/Java/5316957573949696

简而言之:

  1. 用户通过您的服务器进行身份验证
  2. 服务器使用临时安全凭证进行响应
  3. 用户使用临时凭据直接上传到 s3
于 2012-10-29T00:21:53.397 回答