【发布时间】:2015-03-09 13:22:40
【问题描述】:
使用 NSOperationQueue 将多个文件上传到服务器。
//B类
同时将多个文件上传到服务器时移动到 popviewcontroller(A 类)。应用突然崩溃。 有什么方法可以不间断地将文件上传到服务器。
提前致谢
//B类
-(void)UploadtoS3
{
// Convert file to data from locapathfile here
NSData* imgData = [NSData dataWithContentsOfFile:localFilePath]; //VIDEO FILEPATH OR IMAGEPATH
if(![self upload_NetworkQueue]) // If Queue is not initialized
{
[[self upload_NetworkQueue] cancelAllOperations];
[self setUpload_NetworkQueue:[ASINetworkQueue queue]];
[[self upload_NetworkQueue] setDelegate:self];
[[self upload_NetworkQueue] setRequestDidFailSelector:@selector(upload_RequestFailed:)];
[[self upload_NetworkQueue] setQueueDidFinishSelector:@selector(upload_RequestDone:)];
[[self upload_NetworkQueue] setShowAccurateProgress:YES];
[[self upload_NetworkQueue] setMaxConcurrentOperationCount:1];
}
NSString *s3keyPath = [NSString stringWithFormat:@"/test123/%@",fileName];
NSLog(@"UPLOAD IMAGE S3 FILE NAME ----------- %@",s3keyPath);
request = [ASIS3ObjectRequest PUTRequestForData:imgData withBucket:testBuck key:s3keyPath];
[request setSecretAccessKey:s3SecretKey];
[request setAccessKey:s3AccessKey];
[request setTimeOutSeconds:20];
[request setDelegate:self];
[request setNumberOfTimesToRetryOnTimeout:3];
[request setMimeType:mimeType];
[request setUploadProgressDelegate:self];
[[self upload_NetworkQueue] addOperation:request];
[[self upload_NetworkQueue] go];
}
【问题讨论】:
-
使用 AFNetworking 作为您正在使用的库已被弃用
-
感谢您的帮助,还有其他方法解决吗?
标签: ios objective-c amazon-s3 nsoperationqueue asinetworkqueue