2012-07-21 71 views
2

基於此示例http://aws.amazon.com/articles/0006282245644577,明確瞭如何使用AWS iOS SDK使用分段上傳。但是,當我嘗試恢復中斷的上傳時,似乎我的上傳沒有正確拼接。AWS iOS:如何恢復分段上傳

我使用下面的代碼恢復上傳。這是設置分段上傳的上傳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

您的代碼應該足夠強大,以處理您可能需要跟蹤哪些部件上傳的情況。部分上傳的分段上傳可以通過多種方式完成(並行,多線程或順序依次)。

無論上述方法如何,您都可以使用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