之前我曾问过这个问题,但由于信息太少而被删除了。 这次我会尝试更具体。
我有一个Objective-C mac应用程序,它应该允许用户将文件上传到S3存储。 s3存储是我的,用户没有亚马逊帐户。 到目前为止,这些文件已直接上传到亚马逊服务器。在考虑了更多关于它之后,在安全性和灵活性方面,这并不是一个很好的概念。 我想在两者之间添加一个服务器。用户应该对我的服务器进行身份验证,如果身份验证成功,服务器将打开会话,并且文件共享可以开始。
现在我的问题。我想将文件上传到S3。 一种选择是发出POST请求并等待服务器接收文件。 这里的问题是,当文件从我的服务器上传到S3服务器时会有延迟,这会使上传时间加倍。
最好是,如果我可以验证请求,然后重定向它,那么客户端将其直接上传到s3-storage。不确定这是否可行。
直接上传到S3看起来并不是很聪明。 在查看Droplr和Dropmark等其他应用之后,看起来他们没有这样做。 顺便说一句。我是用Little Snitch做的。
他们在自己的网络服务器上有自己的api,就是这样。
有人可以为我解决问题吗?
修改 我该如何将文件传输到S3? 有没有办法“转发”它, 或者我是否必须将其上传到我的服务器然后从那里上传到S3? 就像我说的,其他应用程序可以高效地完成这项工作,而无需直接与S3通信。
答案 0 :(得分:1)
如果您的服务器管理身份验证,但您不想上传两次,请查看AWS / IAM临时安全凭据。
http://aws.amazon.com/releasenotes/Java/5316957573949696
简而言之: