AWS iOS:如何恢复分段上传

时间:2012-07-21 19:41:53

标签: 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;

我很感激任何帮助或指示。

1 个答案:

答案 0 :(得分:1)

您的代码应足够强大,以处理您可能需要跟踪上传哪些部分的情况。部分上传多部分上传可以通过多种方式完成(并行,多线程或依次循环)。

无论上述方法是什么,您都可以使用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