2

根据这个示例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;

我将不胜感激任何帮助或指示。

4

1 回答 1

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

于 2012-07-21T23:05:42.040 回答