Created
June 9, 2009 23:42
-
-
Save minase/126905 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-(NSMutableData*) createHTTPPostBodyWithParameters:(NSDictionary*)params boundary:(NSString*)boundary | |
{ | |
NSMutableData *paramsData = [NSMutableData new]; | |
NSString *enter = @"\r\n"; | |
for(id key in params) { | |
[paramsData appendData:[[NSString stringWithFormat:@"--%@%@", boundary, enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
[paramsData appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"", key] dataUsingEncoding:NSUTF8StringEncoding]]; | |
// File | |
if(key == @"file") { | |
id filePath = [params valueForKey:key]; | |
id fileName = [filePath lastPathComponent]; | |
id fileData = [NSData dataWithContentsOfFile:filePath]; | |
[paramsData appendData: | |
[[NSString stringWithFormat:@"; filename=\"%@\"%@", fileName, enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
[paramsData appendData: | |
[[NSString stringWithFormat:@"Content-Type: application/octet-stream%@%@", enter, enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
[paramsData appendData:fileData]; | |
NSLog(@"%d", [fileData length]); | |
// not File | |
} else { | |
[paramsData appendData:[[NSString stringWithFormat:@"%@%@", enter, enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
[paramsData appendData:[[params valueForKey:key] dataUsingEncoding:NSUTF8StringEncoding]]; | |
} | |
[paramsData appendData:[[NSString stringWithFormat:@"%@", enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
} | |
// source | |
[paramsData appendData:[[NSString stringWithFormat:@"--%@%@", boundary, enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
[paramsData appendData:[@"Content-Disposition: form-data; name=\"source\"" dataUsingEncoding:NSUTF8StringEncoding]]; | |
[paramsData appendData:[[NSString stringWithFormat:@"%@%@", enter, enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
[paramsData appendData:[[NSString stringWithFormat:@"%@%@", [USER_AGENT valueForKey:@"name"], enter] dataUsingEncoding:NSUTF8StringEncoding]]; | |
// term | |
[paramsData appendData:[[NSString stringWithFormat:@"--%@--", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; | |
return paramsData; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment