ios - AWS iOS : How to resume a multipart upload

标签 ios amazon-s3 multipart

基于此示例 http://aws.amazon.com/articles/0006282245644577 ,可以清楚地了解如何使用 AWS iOS SDK 进行分段上传。但是,当我尝试恢复中断的上传时,我的上传似乎没有正确拼接在一起。

我使用下面的代码恢复上传。这是设置分段上传的上传 ID 的正确方法吗?

S3InitiateMultipartUploadRequest *initiateRequest = [[S3InitiateMultipartUploadRequest alloc] initWithKey:key inBucket:bucketName];
S3InitiateMultipartUploadResponse *initiateResponse = [self.amazonS3Client initiateMultipartUpload:initiateRequest];
self.multipartUpload = [initiateResponse multipartUpload];

// Set upload id to resume upload
self.multipartUpload.uploadId = uploadId;

如果有任何帮助或指点,我将不胜感激。

最佳答案

您的代码应该足够健壮,能够处理您可能需要跟踪上传了哪些部分的情况。 multipart uploads的Part Uploads可以通过多种方式完成(并行,多线程方式或一个接一个地顺序)。

无论上述方法是什么,您都可以使用 listParts API 来确定有多少部分已成功上传。由于您已经拥有上传 ID,因此您的设计必须支持从以下部分上传继续的能力。

  GET /ObjectName?uploadId=UploadId HTTP/1.1
  Host: BucketName.s3.amazonaws.com
  Date: Date
  Authorization: Signature

另一个有助于优化分段上传的有用资源:http://aws.typepad.com/aws/2010/11/amazon-s3-multipart-upload.html

关于ios - AWS iOS : How to resume a multipart upload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595343/

相关文章:

ios - 使用MPNowPlayingInfoCenter而不实际播放音频

ios - UITableView 滑动操作删除和编辑自定义 View

amazon-web-services - 下载期间 Amazon S3 链接过期?

android - 多方android中的不可重复请求异常

java - 使用 Jersey 在多部分响应中返回图像和 JSON

ios - UIPageViewController 中的 UIImageView 大小调整问题

node.js - AWS Lambda 图像损坏

javascript - 在 Node js 中使用 AWS sdk 将整个目录树上传到 S3

http - CherryPy 3.6 - 读取 Multipart Post http 请求

ios - 如何知道 UITableView 中的一行是否已被选中?