1

Amazon S3 有一个非常棒的功能,它允许为较大的文件分段上传文件。如果我使用 S3,这对我来说非常有用,但我不是。

这是我的问题:我将让 Android 手机半定期上传相当大的文件(每个二进制数据约 50MB)。因为这些手机是使用移动网络来做这个的,而且在一些使用它们的地方的覆盖范围参差不齐,因此无法保证强信号。因此,在内容正文中用 40MB 的数据做一个简单的 PUT 不会很好用。我需要以某种方式拆分数据(可能分成 10MB 的块)并在信号允许时上传它们。上传所有块后,需要将它们合并到一个文件中。

通过阅读亚马逊的 S3 客户端 API,我对客户端需要如何表现来支持这一点有了基本的了解,但不知道服务器正在做什么来允许这样做。我愿意用Python 或 PHP编写服务器。是否有任何一种语言的库允许这种事情?经过大约一个小时的搜索,我找不到任何东西。

基本上,我正在寻找任何可以帮助我指明正确方向的东西。关于这方面的信息以及使用哪些协议和标头来使其尽可能 RESTful 会很棒。谢谢!

4

1 回答 1

0

多部分上传的 REST API 文档来看,亚马逊似乎希望客户端将大文件分成更小的多个部分并单独上传。在上传之前,您需要获取一个上传 ID,并且在每次上传时,您都包括上传 ID 和正在上传的文件部分的部件号。

您可能必须进行结构化的方式是创建一个客户端,该客户端可以将一个巨大的文件拆分为多个部分,并使用上述指定的约定并行上传它们。

于 2013-01-27T18:10:54.873 回答