简体   繁体   中英

Convert NSData to byte array

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

Try this

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

Your problem is somewhere totally different.

You are sending data to a web service, and that fails. Show us how you send the data to the web service . Converting NSData to a byte array is absolutely pointless. imageData.bytes is as good a byte array as you are ever going to get.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM