How send NSData using POST from a iOS application?

2019-01-26 15:30发布

NSData *imageData = UIImagePNGRepresentation(image);

How send imageData using POST?

标签: ios post nsdata
3条回答
虎瘦雄心在
2楼-- · 2019-01-26 16:10

You can use ASIHTTPRequest library: http://allseeing-i.com/ASIHTTPRequest/

Then it's pretty easy:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

// Upload an NSData instance
[request setData:imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"photo"];

Info on how to use: http://allseeing-i.com/ASIHTTPRequest/How-to-use

查看更多
Juvenile、少年°
3楼-- · 2019-01-26 16:26

The following code should help

NSData *imageData = UIImagePNGRepresentation(image);

NSURL *yourURL = ...
NSMutableURLRequest *yourRequest = [NSMutableURLRequest requestWithURL:yourURL 
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy 
                                                       timeoutInterval:60.0];
//Set request to post
[yourRequest setHTTPMethod:@"POST"];

//Set content type 
[yourRequest setValue:@"image/png" forHTTPHeaderField:@"Content-Type"];

// Set authorization header if required
...

// set data
[yourRequest setHTTPBody:imageData];


// create connection and set delegate if needed
NSURLConnection *yourConnection = [[NSURLConnection alloc] initWithRequest:yourRequest 
                                                                  delegate:self
                                                          startImmediately:YES];

Please note that, it is assumed that you are using ARC.

查看更多
爱情/是我丢掉的垃圾
4楼-- · 2019-01-26 16:26

You can check this answer, if you are okay with using NSURLConnection https://stackoverflow.com/a/10750428/591951

This post explains how to POST an Audio file, but you can upload any file using the same method

查看更多
登录 后发表回答