基于此示例 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/