文件上传(通过NSURLConnection)Post方法请求体拼接

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

设置完之后,就可以连接,接收数据;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值