我正在使用分段上传文件上传工作。但是,不要呼叫代表如何呼叫代表。
这是我的代码:
AmazonS3Client *s31 = [[AmazonS3Client alloc] initWithAccessKey:ACCESS_KEY_ID withSecretKey:SECRET_KEY];
s31.endpoint = [AmazonEndpoints s3Endpoint:US_WEST_2];
s31.timeout = 240;
@try
{
[s31 createBucketWithName:bucket];
S3InitiateMultipartUploadRequest *initReq = [[S3InitiateMultipartUploadRequest alloc] initWithKey:key inBucket:bucket];
S3MultipartUpload *upload = [s31 initiateMultipartUpload:initReq].multipartUpload;
S3CompleteMultipartUploadRequest *compReq = [[S3CompleteMultipartUploadRequest alloc] initWithMultipartUpload:upload];
int numberOfParts = [self countParts:imageData];
for ( int part = 0; part < numberOfParts; part++ ) {
NSData *dataForPart = [self getPart:part fromData:imageData];
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
[appDelegate.dataArray addObject:dataForPart];
// The S3UploadInputStream was deprecated after the release of iOS6.
NSInputStream *stream = [NSInputStream inputStreamWithData:dataForPart];
//if ( using3G ) {
// If connected via 3G "throttle" the stream.
//stream.delay = 0.2; // In seconds
//stream.packetSize = 16; // Number of 1K blocks
// }
S3UploadPartRequest *upReq = [[S3UploadPartRequest alloc] initWithMultipartUpload:upload];
upReq.partNumber = ( part + 1 );
upReq.contentLength = [dataForPart length];
upReq.stream = stream;
S3UploadPartResponse *response = [s31 uploadPart:upReq];
[compReq addPartWithPartNumber:( part + 1 ) withETag:response.etag];
NSLog(@"Coming222");
}
[s31 completeMultipartUpload:compReq];
[self textfileupload];
}
@catch ( AmazonServiceException *exception )
{
isUpload=NO;
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
NSLog( @"Multipart Upload Failed, Reason: %@", exception );
}
请帮帮我。
答案 0 :(得分:0)
如果您希望它调用委托方法,则需要执行此操作,就像依赖委托方法的任何对象一样:
putObjectRequest.delegate = self;
[putObjectRequest setDelegate:self];
如果您的意思是如何使用AppDelegate的实例:AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
,那么请仔细检查类型转换是否是正确的AppDelegate指针。也许尝试另一种初始化/分配的方式,因为我遇到了依赖于一个被转换为可可指针的返回对象的问题。