if (image == nil) {
postUri = [[NSString alloc]
initWithFormat:@"%@/%@/post",
TUMBLR_BLOG_FEED, [blogUrl host]];
postUrl = [NSURL URLWithString:postUri];
sParams = [[NSString alloc] initWithFormat:@"body=%@&type=text&title=Fused", message];
bodyData = [NSMutableData dataWithData:[sParams dataUsingEncoding:NSUTF8StringEncoding]];
postRequest = [NSMutableURLRequest requestWithURL:postUrl];
[postRequest setHTTPMethod:@"POST"];
[postRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[postRequest setHTTPBody:bodyData];
} else {
postUri = [[NSString alloc]
initWithFormat:@"%@/%@/post?type=photo&caption=%@",
TUMBLR_BLOG_FEED, [blogUrl host], message];
postUrl = [NSURL URLWithString:postUri];
mimeBoundary = @"n1z2y3x4w5v6u7t";
sParams = [[NSString alloc] initWithFormat:@"type=photo&caption=%@\r\n\r\n", message];
bodyData = [NSMutableData dataWithData:[sParams dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[[NSString stringWithFormat:@"--%@\r\n", mimeBoundary]
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"Content-Disposition: form-data; name=\"data\"; filename=\"upload.jpg\"\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"Content-Type: image/jpeg\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:UIImageJPEGRepresentation(image, 1.0f)];
[bodyData appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[[NSString stringWithFormat:@"--%@\r\n", mimeBoundary]
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"Content-Disposition: form-data; name=\"caption\"\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"Content-Type: text/plain; charset=utf-8\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[[NSString stringWithFormat:@"%@\r\n", message]
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[[NSString stringWithFormat:@"--%@\r\n", mimeBoundary]
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"Content-Disposition: form-data; name=\"type\"\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"Content-Type: text/plain; charset=utf-8\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"photo\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[[NSString stringWithFormat:@"--%@--\r\n\r\n", mimeBoundary]
dataUsingEncoding:NSUTF8StringEncoding]];
postRequest = [NSMutableURLRequest requestWithURL:postUrl];
[postRequest setHTTPMethod:@"POST"];
[postRequest setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", mimeBoundary]
forHTTPHeaderField:@"Content-type"];
[postRequest setValue:[NSString stringWithFormat:@"%u", bodyData.length]
forHTTPHeaderField:@"Content-length"];
[postRequest setHTTPBody:bodyData];
}