-(int)flickrUploadPic:(NSData*) jpeg { NSAutoreleasePool* pool = [NSAutoreleasePool new]; { NSMutableString *url=[NSMutableString stringWithString:@"http://api.flickr.com/services/upload"]; NSMutableDictionary *params=[[NSMutableDictionary alloc] init]; NSURL *theURL = [NSURL URLWithString:url]; NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:theURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:1000.0f]; [theRequest setHTTPMethod:@"POST"]; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",POSTDataSeparator]; [theRequest addValue:contentType forHTTPHeaderField: @"Content-Type"]; NSData* uploadData = prepareUploadData(jpeg, @"test.jpg", params, token); NSString* uploadDataStr = [[NSString alloc] initWithData:uploadData encoding:NSASCIIStringEncoding]; NSLog(@"Body is (%@)", uploadDataStr ); [theRequest setHTTPBody:uploadData]; NSURLResponse *theResponse = NULL; NSError *theError = NULL; NSData *theResponseData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&theResponse error:&theError]; NSString *theResponseString = [[NSString alloc] initWithData:theResponseData encoding:NSASCIIStringEncoding] ; NSLog(@"response is (%@)", theResponseString); id errmsg = nil; NSXMLDocument *xmlDoc = [[NSClassFromString(@"NSXMLDocument") alloc] initWithXMLString:theResponseString options:NSXMLDocumentXMLKind error:&errmsg]; NSXMLNode *stat =[[xmlDoc rootElement] attributeForName:@"stat"]; if (![[stat stringValue] isEqualToString:@"ok"]) { //[alertSheet setBodyText:[NSString stringWithFormat:@"Failed to send pic. Check authentications. Code(%@)", [stat stringValue]]]; //[alertSheet popupAlertAnimated:YES]; [status setText:[NSString stringWithFormat:@"Failed to send pic. Check authentications."]]; [lock lock]; uploadQSize--; [lock unlock]; return 0; } [lock lock]; uploadQSize--; if(uploadQSize <= 0) { NSLog(@"Stoping animation\n"); [status removeFromSuperview]; [progress stopAnimation]; } if(uploadQSize > 0) { [status setText:[NSString stringWithFormat:@"Sending %d pics", uploadQSize]]; } [lock unlock]; } [pool release]; return 1; }