Ios – Convert NSData to byte array

iosiphonensdataobjective cxcode

I want to convert the NSData into byte array and given below is the code that i have used

    NSData *imageData = UIImagePNGRepresentation(recipeImage.image);
    NSUInteger len = [imageData length];
    Byte *byteData = (Byte*)malloc(len);
    memcpy(byteData, [imageData bytes], len);
    NSLog(@"%8s",byteData);

But its giving me an error when i post the byteData to the webservice which is given below

"Server was unable to process request. —> Parameter is not valid."

and when i print the byteData this is what i get in the console

âPNG

I tried searching the docs for NSData and found the getBytes method but that too was not of any use i was still getting the same error.

Could you please let me know from the code above as in where i am wrong or what mistake i am making in converting the data into byte array

Edit: I have tried using the

[imageData getBytes:&byteData length:length];

Its giving me a bad access error

Best Answer

Try this

NSData *imageData = UIImagePNGRepresentation(recipeImage.image);  
NSUInteger len = [imageData length];
Byte *byteData= (Byte*)malloc(len);
[imageData  getBytes:byteData length:len];
Related Topic