Upload and download data from server with Cocoa Touch?


Upload and download data from server with Cocoa Touch?



How can I upload/download data from a server in Cocoa Touch. Here's what I have so far...

-(void)uploadSchedule:(id)sender { 	NSData *content = [NSData dataWithContentsOfFile:self.dataFilePath]; 	NSString *stuff = [[NSString alloc] initWithData:content encoding:NSASCIIStringEncoding];  	NSURL *url = [NSURL URLWithString:@"http://thetis.lunarmania.com"]; 	NSMutableURLRequest* urlRequest = [[NSMutableURLRequest alloc]initWithURL:url]; 	[urlRequest setHTTPMethod:@"POST"]; 	[urlRequest setHTTPBody:[stuff dataUsingEncoding:NSASCIIStringEncoding]];  	NSLog(@"great success!"); }  -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {     // this method is called when the server has determined that it     // has enough information to create the NSURLResponse      // it can be called multiple times, for example in the case of a     // redirect, so each time we reset the data.     // receivedData is declared as a method instance elsewhere      [receivedData setLength:0]; }  -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {     // append the new data to the receivedData     // receivedData is declared as a method instance elsewhere      [receivedData appendData:data]; }  -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {     // release the connection, and the data object     [connection release];     // receivedData is declared as a method instance elsewhere     [receivedData release];      // inform the user     NSLog(@"Connection failed! Error - %@ %@",           [error localizedDescription],           [[error userInfo] objectForKey:NSErrorFailingURLStringKey]); }  -(void)connectionDidFinishLoading:(NSURLConnection *)connection {     // do something with the data 	UIImage *image = [[UIImage alloc] initWithData:receivedData]; 	[cat setImage:image]; 	[image release];  	// receivedData is declared as a method instance elsewhere     NSLog(@"Succeeded! Received %d bytes of data",[receivedData length]);      // release the connection, and the data object     [connection release];     [receivedData release]; }  -(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {     if ([challenge previousFailureCount] == 0) {         NSURLCredential *newCredential;         newCredential=[NSURLCredential credentialWithUser:@"ican@moeyo.org"                                                  password:@"icanican"                                               persistence:NSURLCredentialPersistenceNone];         [[challenge sender] useCredential:newCredential                forAuthenticationChallenge:challenge];     } else {         [[challenge sender] cancelAuthenticationChallenge:challenge];         // inform the user that the user name and password         // in the preferences are incorrect         //[self showPreferencesCredentialsAreIncorrectPanel:self];     } } 

I'm so lost...


Fitting a UIDatePicker into a UIActionSheet

1:

Transitions and setting up Layers/Scenes in cocos2d iPhone
The code crashes for the reason this you over-release connection. Polyphonic sound playbackReview the Cocoa memory management rules.. Mono on the iPhone? Aside from that, you'll have to be more specific around what problem you're having with it.. Date Picker for iPhone Web Application BTW, the term is “instance variable”, not “method instance”. Best analytics offering for iPhoneAn instance variable is a variable inside of an instance, and has nothing to did with methods.. C makefile to compile OpenGL project directly on iphone
Checking online status from an iPhone web app

2:

This has been covered here:. http://stackoverflow.com/questions/787582/nsrequest-encode-url-for-nsrequest-post-body-iphone-objective-c. The accepted answer uses ASIHTTPRequest which is similar to one I've used, and makes it really easy to post/receive from an HTML form. Here's an case (from past stackoverflow).
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:@"http://any Site.com"] autorelease]; [request setPostValue:@"myValue1" forKey:@"myFormField1"]; [request setPostValue:@"myValue2" forKey:@"myFormField2"]; // etc. [request start]; NSError *error = [request error]; if (!error)   NSString *response = [request responseString]; 

3:

And if your file is big, you should better use NSFilehandle, to write data inside didReceiveData, instead of appending..


78 out of 100 based on 43 user ratings 238 reviews