iOS >> POST 上传数据(文件压缩)>>表单上传 (如何设置form格式)

POST 上传数据

  在开发中我们很多情况下需要用到上传数据,比如传用户的基本信息 姓名、性别、账户名、密码这类的我们拼接某种格式的字符串,还有上传多张图片、本地文件.

这样根据需要选择不同的表单form格式.  今天说一下最近用到的  本地多文件压缩上传

   主要借鉴了 大大 a15950711997的博客 点击打开链接

POST 的 各种设置

1.创建POST请求

    NSURL* url = [NSURL URLWithString:[[netUrl stringByAppendingString: @"/api/data/AddRemote_Data"]stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
    
         NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL: url];

2.设置请求的form格式

这里要注意HTTP设置. 例如Content-Type 设置Content-Type是告诉服务器你上传的数据格式,如果不设置默认是application/x-www-form-urlencoded 其他还有multipart/form-data  , application/json   , text/xml 等等.

        NSString *content=[[NSString alloc]initWithFormat:@"multipart/form-data; boundary=%@",TWITTERFON_FORM_BOUNDARY];
        
        //设置HTTPHeader
        [request setValue:content forHTTPHeaderField:@"Content-Type"];

上传数据要告诉服务器你是如何分割数据的内容,不然服务器无法判断上传数据的有效性.一般多数第三方都会把这个做好, 这里看一下实现.创建一个分界符将不同的数据隔开,服务器就能根据分界符分割数据

  //分界线 --AaB03x
    NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x";
    NSString *MPboundary=[[NSString alloc]initWithFormat:@"--%@",TWITTERFON_FORM_BOUNDARY];
    
    //结束符 AaB03x--
    NSString *endMPboundary=[[NSString alloc]initWithFormat:@"%@--",MPboundary];
这里表单中得很多数据拼接在一起都需要分界符把他们隔开

+ (NSMutableString*)setParamsKey:(NSString*)key value:(NSString*)value body:(NSMutableString*)body{
    
    NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x";
    
    
    //分界线 --AaB03x
    NSString *MPboundary=[[NSString alloc]initWithFormat:@"--%@",TWITTERFON_FORM_BOUNDARY];
    
    //添加分界线,换行

    [body a
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值