分片上传接口 代码示例 plaintext AWSS3UploadPartRequest uploadPartRequest [AWSS3UploadPartRequest new]; uploadPartRequest.key self.fileName; uploadPartRequest.partNumber @(i); uploadPartRequest.body partData; uploadPartRequest.contentLength @(dataLength); uploadPartRequest.uploadId self.uploadId; uploadPartRequest.bucket self.bucketName; uploadPartRequest.uploadProgress ^(int64t bytesSent, int64t totalBytesSent, int64t totalBytesExpectedToSend){ dispatchasync(dispatchgetmainqueue(), ^{ weakSelf.uploadByteSent + bytesSent; int64t fileSize [self.fileData length]; if (weakSelf.uploadByteSent Nonnull t) { LOGI(@"uploadPartData finished"); if (t.error){ weakSelf.isError YES; } else { AWSS3UploadPartOutput outputPart t.result; if (outputPart){ AWSS3CompletedPart partObj [AWSS3CompletedPart new]; partObj.partNumber @(i); partObj.ETag outputPart.ETag; NSDictionary cacheDic @{@"part":@(i), @"ETag":outputPart.ETag, @"size":@(dataLength)}; [weakSelf.partETags setObject:cacheDic forKey:[NSString stringWithFormat:@"%d", i]]; [weakSelf.mutArray addObject:partObj]; [weakSelf.userDefault setObject:weakSelf.partETags forKey:@"partArray"]; [weakSelf.userDefault synchronize]; } else { LOGI(@"uploadPartData error, outputPartnil"); } } dispatchgroupleave(group); return nil; }]; 完成分片上传任务 完成所有分片的上传之后,调用完成接口,服务端会把所有分片合并成对象保存。 接口定义 plaintext (AWSTask )completeMultipartUpload:(AWSS3CompleteMultipartUploadRequest )request (void)completeMultipartUpload:(AWSS3CompleteMultipartUploadRequest )request completionHandler:(void (^)(AWSS3CompleteMultipartUploadOutput response, NSError error))completionHandler