【发布时间】:2011-12-06 22:23:25
【问题描述】:
问题陈述:
我想将大型二进制文件(例如音频剪辑)从 iOS 应用程序上传到 S3,并且我想让应用程序对断开连接(或低连接性)的处理尽可能稳健,最好是通过将二进制文件作为一系列块上传。
不幸的是,AWSiOS 开发工具包和 ASI 的 S3 框架似乎都不支持分段上传,或者表示他们计划添加支持。我意识到我可以使用beginBackgroundTaskWithExpirationHandler: 启动“长”上传,这会给我一个时间来完成上传(我相信目前是 600 秒),但是如果我不在在该时间范围内完成上述上传的情况?
除了担心在该时间范围内完成任务之外,对于应用应如何恢复上传,甚至只是将较大的上传分成更小的块,它们是否是“最佳实践”?
我曾考虑编写一个库来与 S3 的 REST API 对话,专门用于多部分上传,但这似乎是其他问题已经解决,或者意识到不需要解决(也许完全合适平台)。
另一个(过于复杂)的解决方案是将设备上的文件分块,将它们上传到 S3(或其他地方),然后通过服务器进程在 S3 上重新组装它们。这似乎比滚动我自己的库进行多部分上传更令人不快。
其他人是如何处理这个问题的?
【问题讨论】:
标签: ios cocoa-touch amazon-s3 amazon-web-services multipart