我想批量上传图片,大概几百到1000张不等,本来使用AFNetwoking的方法,但是有个缺点,会一次性读取所有图片数据,然后内存就蹭蹭蹭上涨了,
NSOperationQueue *operationQueue = [[NSOperationQueue alloc]init];
[operationQueue setMaxConcurrentOperationCount:1];
for (NSURL *fileURL in filesToUpload) {
NSURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST"
URLString:@"http://example.com/upload" parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileURL:fileURL name:@"images[]" error:nil];
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operationQueue addOperation:operation];
}
有没有什么办法能够实现一个队列,当要上传到该照片时候,才读取照片数据?
传完一个在成功/失败的block里面调用本方法,并且指针移动一次;
EX:
-(void)fangfa:(int)count{
if (count < 0){
return;
}
[class complateblock:{
[self fangfa:count - 1];
},uploadimgArr[count]];
}