iOSNSInputStream流上传

用NSInputStream上传文件

在有些时候我们需要用流的凡是stream和后台传输数据,这个时候就需要用到流上传:


//对于request来说一般我们都不需要传输的数据设置在body中,stream也是一样设置body中,但是他是设置在对应的streamBody中.
//平时我们使用的request一般都是NSURLRequest类型的,但是上传stream的时候需要使用到NSMutableRequest中

    NSString *fullUrl = [NSString stringWithFormat:@"%@%@?_ct=app",baseUrl ,urlPath];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:fullUrl]];
    request.HTTPMethod = @"POST";
    request.HTTPBodyStream = inputSteam;
    //需要在head中设置流使用的Content-Type
    [request setValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
    //进行网络的上传(AFN不太支持同步的上传,所以下边这个是用NSURLConnection实现的同步方法)
    NSError *error = nil;
    NSURLResponse *reponse = [[NSURLResponse alloc] init];
   NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&reponse error:&error];
    if (data.length>0 && !error) {
        //请求成功
    } else if (error){
      //请求失败
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值