#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];