#define Kboundary @"----WebKitFormBoundary35cxmtFcIglrlsad"
#define KNewLine [@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]
//1.确定请求路径
NSURL *url = [NSURL URLWithString:@“链接"];
//2.创建可变的请求对象
NSMutableURLRequest *request = [NSMutableURL Request requestWithURL:url];
//3.设置请求方法
request.HTTPMethod = @"POST";
//4.设置请求头,具体需要设置什么,可以在网上拦截请求,看一下请求体;
NSString *header = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",Kboundary];
[request setValue:header forHTTPHeaderField:@"Content-Type"];
//5.设置请求体
NSMutableData *fileData = [NSMutableData data];
//5.1 文件参数
/*
--分隔符
Content-Disposition: form-data; name="file"; filename="123.png"
Content-Type: image/png
空行
文件数据
*/
NSString *str = [NSString stringWithFormat:@"--%@",Kboundary];
[fileData appendData:[str dataUsingEncoding:NSUTF8StringEncoding]];
[fileData appendData:KNewLine];
[fileData appendData:[@"Content-Disposition: form-data; name=\"file\"; filename=\"123.png\"" dataUsingEncoding:NSUTF8StringEncoding]];
[fileData appendData:KNewLine];
//这里拼接的时文件的类型,MiMEType,如果不是很清楚文件类型,直接写application/octet-stream,这是通用的;
[fileData appendData:[@"Content-Type: image/png" dataUsingEncoding:NSUTF8StringEncoding]];
[fileData appendData:KNewLine];
[fileData appendData:KNewLine];
UIImage *image = [UIImage imageNamed:@"123"];
NSData *imageData = UIImagePNGRepresentation(image);
[fileData appendData:imageData];
[fileData appendData:KNewLine];
//5.2 非文件参数
/*
--分隔符
Content-Disposition: form-data; name="username"
空行
yy
*/
// [fileData appendData:[str dataUsingEncoding:NSUTF8StringEncoding]];
// [fileData appendData:KNewLine];
// [fileData appendData:[@"Content-Disposition: form-data; name=\"username\"" dataUsingEncoding:NSUTF8StringEncoding]];
// [fileData appendData:KNewLine];
// [fileData appendData:KNewLine];
// [fileData appendData:KNewLine];
// [fileData appendData:[@"yy" dataUsingEncoding:NSUTF8StringEncoding]];
// [fileData appendData:KNewLine];
//5.3 结尾标识
/*
--分隔符--
*/
[fileData appendData:[[NSString stringWithFormat:@"--%@--",Kboundary] dataUsingEncoding:NSUTF8StringEncoding]];
[fileData appendData:KNewLine];
request.HTTPBody = fileData;
设置完之后,就可以连接,接收数据;
// [fileData appendData:[str dataUsingEncoding:NSUTF8StringEncoding]];
// [fileData appendData:KNewLine];
// [fileData appendData:[@"Content-Disposition: form-data; name=\"username\"" dataUsingEncoding:NSUTF8StringEncoding]];
// [fileData appendData:KNewLine];
// [fileData appendData:KNewLine];
// [fileData appendData:KNewLine];
// [fileData appendData:[@"yy" dataUsingEncoding:NSUTF8StringEncoding]];
// [fileData appendData:KNewLine];