2014-03-04 65 views
0

我想要一个用户,不需要必须有一个亚马逊帐户,才能够上传多个文件到我的S3存储桶。用户上传到我的S3存储桶

我该怎么办?我想让用户通过给他们一个密钥或者通过一个上传表单来实现这一点,而不是让一个桶显然是可写的。

我更喜欢在我的服务器端使用Python,但想法是用户只需要浏览器或者打开终端并使用内置的可执行文件即可。

有什么想法?

回答

0

此答案与.Net相关。

我们有这样的要求,我们已经创建了一个可执行文件。可执行文件在内部称为Web方法,该方法验证通过身份验证的应用程序以将文件上传到AWS S3或NOT。

您也可以使用网络浏览器来做到这一点,但我不会建议这一点,如果您的目标是大文件。

1

您试图通过您的python后端代理文件到S3,即太大的文件。相反,您可以将S3配置为直接接受来自用户的文件(无需通过后端代码进行代理)。

这里说明的是:Browser Uploads to S3 using HTML POST Forms。这样你的服务器就不需要处理任何上传负载。

如果你还希望你的用户使用他们的其他ID(谷歌/ FB等)来实现这个工作流程,那也是可能的。他们将能够将这些文件上传到您的存储桶中的子文件夹(路径),而不会暴露您的存储桶的其他部分。这在这里详述:Web Identity Federation with Mobile Applications。虽然它说移动,你可以应用相同的web应用程序。

说了这么多,就像@Ratan指出的那样,当你从浏览器中尝试时,大文件上传可能会中断,而且它不能重试“只有失败的部分”。这是一个专门的应用程序的需求进来的地方。另一个选择是要求你的用户保存在他们的Dropbox/BOX.com帐户的文件,你的服务器可以从那里读取 - 这些服务已经照顾了所有重试等大文件上传等使用他们的应用。

相关问题