Convert NSString to NSData

by alex 26. November 2010 02:13

NSString* string= @"Some String";

NSData* data=[string dataUsingEncoding:NSUTF8StringEncoding];

Get MD5 hash from NSData

by alex 16. February 2010 10:57

#import "NSData+md5.h"

#import <CommonCrypto/CommonDigest.h>

 

 

@implementation NSData (Md5)

 

-(NSString*)md5{

const char *cStr = [self bytes];

unsigned char digest[CC_MD5_DIGEST_LENGTH];

CC_MD5( cStr, [self length], digest );

NSString* s = [NSString stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",

  digest[0], digest[1], 

  digest[2], digest[3],

  digest[4], digest[5],

  digest[6], digest[7],

  digest[8], digest[9],

  digest[10], digest[11],

  digest[12], digest[13],

  digest[14], digest[15]];

return s;

}


 

@end

Tags:

General

Convert UIImage to NSData

by alex 2. June 2009 14:34

UIImage *img = [UIImage imageNamed:@"some.png"];

NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);

Download image from HTTP server (faster)

by alex 9. May 2009 03:41

//This method works much faster then [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com/intl/en_ALL/images/logo.gif"]];

//Also it works better on bad internet connections

NSMutableURLRequest *requestWithBodyParams = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/intl/en_ALL/images/logo.gif"]];

NSData *imageData = [NSURLConnection sendSynchronousRequest:requestWithBodyParams returningResponse:nil error:nil];

UIImage *image = [UIImage imageWithData:imageData];


Send file (images) to web server using POST method

by alex 30. April 2009 15:32

 

//This example send email with attachment using server side

//So iPhone will fill form and send proper request to web server using POST method

//For test you can use attached sendEmail.php

 

-(NSMutableData *)generateDataFromText:(NSString *)dataText fieldName:(NSString *)fieldName{

NSString *post = [NSString stringWithFormat:@"--AaB03x\r\nContent-Disposition: form-data; name=\"%@\"\r\n\r\n", fieldName];

    // Get the post header int ASCII format:

    NSData *postHeaderData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    

    // Generate the mutable data variable:

    NSMutableData *postData = [[NSMutableData alloc] initWithLength:[postHeaderData length] ];

    [postData setData:postHeaderData];

    

NSData *uploadData = [dataText dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    // Add the text:

    [postData appendData: uploadData];

    

    // Add the closing boundry:

    [postData appendData: [@"\r\n" dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]];

    

    // Return the post data:

    return postData;

}

 

- (NSData *)generatePostDataForData:(NSData *)uploadData fileName:(NSString *)fileName

{

    // Generate the post header:

    NSString *post = [NSString stringWithFormat:@"--AaB03x\r\nContent-Disposition: form-data; name=\"attachment\"; filename=\"%@\"\r\nContent-Type: video/3gpp\r\n\r\n", fileName];

    

    // Get the post header int ASCII format:

    NSData *postHeaderData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    

    // Generate the mutable data variable:

    NSMutableData *postData = [[NSMutableData alloc] initWithLength:[postHeaderData length] ];

    [postData setData:postHeaderData];

    

    // Add the image:

    [postData appendData: uploadData];

    

    // Add the closing boundry:

    [postData appendData: [@"\r\n--AaB03x--" dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]];

    

    // Return the post data:

    return postData;

}

 

-(void)sendEmailTo:(NSString *)email name:(NSString *)name {

 

NSString *emailBody = @"Just some HTML text"

//Fill some text fields

NSMutableData *postData = [self generateDataFromText:email fieldName:@"to_email"];

[postData appendData:[self generateDataFromText:@"10000000" fieldName:@"MAX_FILE_SIZE"]];

[postData appendData:[self generateDataFromText:name fieldName:@"to_name"]];

[postData appendData:[self generateDataFromText:email fieldName:@"to_email"]];

[postData appendData:[self generateDataFromText:[[NSUserDefaults standardUserDefaults] stringForKey:@"name_preference"] fieldName:@"from_name"]];

[postData appendData:[self generateDataFromText:[[NSUserDefaults standardUserDefaults] stringForKey:@"email_preference"] fieldName:@"from_email"]];

[postData appendData:[self generateDataFromText:currentEmail.emailSubject fieldName:@"subject"]];

[postData appendData:[self generateDataFromText:emailBody fieldName:@"body"]];

[postData appendData:[self generateDataFromText:email fieldName:@"to_email"]];

 

//Prepare data for file

NSData *dataObj = [NSData dataWithContentsOfFile:@"/link/to/file"];

[postData appendData:[self generatePostDataForData:dataObj fileName:@"fileName"]];

// Setup the request:

NSMutableURLRequest *uploadRequest = [[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:kLinkToPostFile] cachePolicy: NSURLRequestReloadIgnoringLocalCacheData timeoutInterval: 30 ] autorelease];

[uploadRequest setHTTPMethod:@"POST"];

[uploadRequest setValue:[NSString stringWithFormat:@"%d", [postData length]] forHTTPHeaderField:@"Content-Length"];

[uploadRequest setValue:@"multipart/form-data; boundary=AaB03x" forHTTPHeaderField:@"Content-Type"];

[uploadRequest setHTTPBody: postData];

NSData *responseData = [NSURLConnection sendSynchronousRequest:uploadRequest returningResponse:nil error:nil];

NSLog([[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding]);

}

 

sendEmail.php (3.71 kb)

Download UIImage from HTTP server

by alex 28. April 2009 13:28

//Download image from HTTP server

NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com/intl/en_ALL/images/logo.gif"]];

UIImage *image = [UIImage imageWithData:imageData];

UnZip NSData

by alex 14. February 2009 15:05

NSURL *xmlURL =  [[NSURL alloc] initWithString:streamerURLString2];

NSData *data = [[NSData alloc] initWithContentsOfURL:xmlURL];

 

//unzip data

NSData *unzippedData = [data inflate];


Tags: ,

General

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen