diff options
| author | Teddy Wing | 2012-04-26 00:40:53 -0400 | 
|---|---|---|
| committer | Teddy Wing | 2012-04-26 00:40:53 -0400 | 
| commit | dd50a5f86f166dac0b92ccb1cb6231288eaa954d (patch) | |
| tree | 9a9a728bc1b17d736e0751b702a6b6128410795b | |
| parent | b6e8a9a8d528487e79ecb599e4bfb9ab2614cdb7 (diff) | |
| download | Video-Tuneup-dd50a5f86f166dac0b92ccb1cb6231288eaa954d.tar.bz2 | |
Filled out WebserviceCommunicator class. Hopefully this works for sending some multipart form data.
| -rw-r--r-- | Video Tuneup/Classes/WebserviceCommunicator.h | 2 | ||||
| -rw-r--r-- | Video Tuneup/Classes/WebserviceCommunicator.m | 44 | 
2 files changed, 45 insertions, 1 deletions
| diff --git a/Video Tuneup/Classes/WebserviceCommunicator.h b/Video Tuneup/Classes/WebserviceCommunicator.h index cd11626..faaa55a 100644 --- a/Video Tuneup/Classes/WebserviceCommunicator.h +++ b/Video Tuneup/Classes/WebserviceCommunicator.h @@ -8,7 +8,7 @@  #import <Foundation/Foundation.h> -@interface WebserviceCommunicator : NSObject +@interface WebserviceCommunicator : NSObject <NSURLConnectionDelegate>  -(void)mixMusic:(NSURL *)file; diff --git a/Video Tuneup/Classes/WebserviceCommunicator.m b/Video Tuneup/Classes/WebserviceCommunicator.m index fede3d5..d53ee90 100644 --- a/Video Tuneup/Classes/WebserviceCommunicator.m +++ b/Video Tuneup/Classes/WebserviceCommunicator.m @@ -8,10 +8,54 @@  #import "WebserviceCommunicator.h" +#define BASEPATH (@"http://localhost:4567") +  @implementation WebserviceCommunicator  -(void)mixMusic:(NSURL *)file { +    NSString *uploadFileName = [file lastPathComponent]; +    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/blend/%@", BASEPATH, uploadFileName]] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:130.0]; // BASEPATH/blend/:filename +    [request setHTTPMethod:@"POST"]; +    [request setHTTPShouldHandleCookies:NO]; +    NSString *boundary = @"--x-x-x-x-"; +    [request setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary] forHTTPHeaderField:@"Content-Type"]; +     +    NSData *songData = [NSData dataWithContentsOfURL:file]; +    NSMutableData *requestData = [[NSMutableData alloc] init]; +    //[requestData appendData:[NSData dataWithBytes:[song length:<#(NSUInteger)#> +     +//  for (NSString *paramName in params) ... +//	[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; +//	[body appendData:[@"Content-Disposition: form-data; name=\"photo-description\"\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; +//	[body appendData:[@"testing 123" dataUsingEncoding:NSUTF8StringEncoding]]; +//    [body appendData:[[NSString stringWithFormat:@"%@\r\n", [_params objectForKey:param]] dataUsingEncoding:NSUTF8StringEncoding]]; +	 +    [requestData appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; +	[requestData appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n", @"data", uploadFileName] dataUsingEncoding:NSUTF8StringEncoding]]; +	[requestData appendData:[@"Content-Type: audio/mpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; +	[requestData appendData:songData]; +    [requestData appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; +    [requestData appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; +     +	[request setHTTPBody:requestData]; +     +    (void)[[NSURLConnection alloc] initWithRequest:request delegate:self]; +} + +#pragma mark NSURLConnection delegate methods + +-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { +	NSLog(@"Got response data"); +	NSLog(@"Data was: %@", [NSString stringWithUTF8String:[data bytes]]); +} + +-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { +	NSLog(@"Song send failed"); +} + +-(void)connectionDidFinishLoading:(NSURLConnection *)connection { +	NSLog(@"Song send finished loading.");  }  @end | 
