iOS--AFN文件上传

本文介绍了如何使用AFNetworking(AFN)在iOS中进行文件上传和下载。包括使用formData进行文件上传,AFHTTPSessionManager配置不同的响应解析器以处理不同类型的服务器响应,以及网络状态的监控。同时,文章还展示了如何从相机或相册选取图片并上传。
摘要由CSDN通过智能技术生成

1. AFN上传文件的方法主要为:

  A.[formData appendPartWithFileURL:[NSURL fileURLWithPath:@""] name:@"file" error:nil];

B.[formData appendPartWithFileURL:[NSURL fileURLWithPath:@""] name:@"file" fileName:@"xxx.png" mimeType:@"image/png" error:nil];


2.AFN 下载图片需要了解的知识点,服务器返回的什么类型的数据,就用什么类型来解析。

-(void)download{ //下载图片

        AFHTTPSessionManager *mgr = [AFHTTPSessionManagermanager];

        

        mgr.responseSerializer = [AFHTTPResponseSerializer serializer];//解析除了JSON和XML的数据,即服务器返回的原类型的数据。

mgr.responseSerializer = [AFJSONResponseSerializerserializer];//JSON解析。

        mgr.responseSerializer = [AFXMLParserResponseSerializerserializer];//XML解析。

        [mgr GET:@"http://img03.tooopen.com/images/20160630/tooopen_sy_168334097794.jpg"parameters:nilprogress:nilsuccess:^(NSURLSessionDataTask *_Nonnull task,id  _Nullable responseObject) {

                NSLog(@"responseObject%@",responseObject);

                _showImage.image = [UIImageimageWithData:responseObject];

        } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {

                NSLog(@"error%@",error);

        }];

}


3.AFN让线程不死的举例:

[self performSelector:@selector( ) onThread: withObject:nil waitUntilDone:NO modes:[self.rumloopModes allObjects]];


4.开始网络监控AFN

-(void)watchTheNetworkStatus{

        

        //开始网络监控

        AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManagersharedManager];

        

        

//        AFNetworkReachabilityStatusUnknown          = -1,

//        AFNetworkReachabilityStatusNotReachable     = 0,  没有网络

//        AFNetworkReachabilityStatusReachableViaWWAN = 1, 4G

//        AFNetworkReachabilityStatusReachableViaWiFi = 2, WIFI

        

        [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

                NSLog(@"%ld",(long)status);

        }];

        

        

  mgr.networkReachabilityStatus = ; //可以用来拿到当前网络。

        [mgr startMonitoring<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值