AFNetwork上传文件,下载文件,监控网络状态
2015-07-02 16:06
585 查看
// ViewController.m
// 1122
//
// Created by SSP_MACMINI-001 on 15/6/30.
// Copyright (c) 2015年 sunhr. All rights reserved.
//
#import "ViewController.h"
#import "AFNetworking.h"
#import "UIKit+AFNetworking.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
//上传文件(上传图片)
-(void)testUploadFile{
//POST上传的接口
NSString *urlString = @"http://quiet.local/uploadtest/pk.php";
//参数名:image : 参数值是图片
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFCompoundResponseSerializerserializer];
[manager POST:urlString parameters:nilconstructingBodyWithBlock:^(id<AFMultipartFormData>
formData) { NSString*path = [[NSBundle mainBundle]pathForResource:@"daji.jpg" ofType:nil];
[formData appendPartWithFileURL:[NSURL URLWithString:path] name:@"image"fileName:@"666.jpg" mimeType:@"image/jpeg" error:nil];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *str = [[NSString alloc]initWithData:responseObjectencoding:NSUTF8StringEncoding]; NSLog(@"str
= %@",str); }failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error
= %@",error); }];
[manager POST:urlString parameters:nilconstructingBodyWithBlock:^(id<AFMultipartFormData>
formData) {
//实现:上传的数据附加到请求体中
//fileName:上传后的文件名
//mimeType:需要上网搜索mime,把相应的格式复制过来
NSString *path = [[NSBundle mainBundle]pathForResource:@"daji.jpg"ofType:nil];
[formData appendPartWithFileURL:[NSURL fileURLWithPath:path] name:@"image" fileName:@"666.jpg" mimeType:@"image/jpeg" error:nil];
} success:^(AFHTTPRequestOperation *operation, id responseObject) { NSString*str = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]; NSLog(@"str
= %@",str); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error
= %@",error); }];
}
//下载文件
-(void)testDownloadFile
{ NSString *urlString =@"http://imgcache.qq.com/club/item/avatar/zip/7/i87/all.zip";
//创建会话管理对象(通过默认配置)
AFURLSessionManager *manager = [[AFURLSessionManageralloc]initWithSessionConfiguration:[NSURLSessionConfigurationdefaultSessionConfiguration]];
NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] progress:nildestination:^NSURL *(NSURL *targetPath, NSURLResponse *response)
{
//返回文件保存的位置
NSString *path = [NSStringstringWithFormat:@"%@/Documents/all.zip",NSHomeDirectory()];NSLog(@"%@",NSHomeDirectory()); return [NSURL fileURLWithPath:path];
} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { NSLog(@"下载完成");
}];
//启动任务
[task resume];
}
//监控网络状态
-(void)testMonitorNetworkStatus
{
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManageralloc]initWithBaseURL:[NSURL URLWithString:@"www.baidu.com"]];
[manager.reachabilityManagersetReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{NSDictionary *dict = @{ @(AFNetworkReachabilityStatusUnknown): @"未知",@(AFNetworkReachabilityStatusNotReachable): @"不可达",@(AFNetworkReachabilityStatusReachableViaWWAN): @"GPRS", @(AFNetworkReachabilityStatusReachableViaWiFi): @"Wifi", }; NSLog(@"状态为%@",dict[@(status)]);
}];
//开启状态监视
[manager.reachabilityManager startMonitoring];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
// 1122
//
// Created by SSP_MACMINI-001 on 15/6/30.
// Copyright (c) 2015年 sunhr. All rights reserved.
//
#import "ViewController.h"
#import "AFNetworking.h"
#import "UIKit+AFNetworking.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
//上传文件(上传图片)
-(void)testUploadFile{
//POST上传的接口
NSString *urlString = @"http://quiet.local/uploadtest/pk.php";
//参数名:image : 参数值是图片
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFCompoundResponseSerializerserializer];
[manager POST:urlString parameters:nilconstructingBodyWithBlock:^(id<AFMultipartFormData>
formData) { NSString*path = [[NSBundle mainBundle]pathForResource:@"daji.jpg" ofType:nil];
[formData appendPartWithFileURL:[NSURL URLWithString:path] name:@"image"fileName:@"666.jpg" mimeType:@"image/jpeg" error:nil];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *str = [[NSString alloc]initWithData:responseObjectencoding:NSUTF8StringEncoding]; NSLog(@"str
= %@",str); }failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error
= %@",error); }];
[manager POST:urlString parameters:nilconstructingBodyWithBlock:^(id<AFMultipartFormData>
formData) {
//实现:上传的数据附加到请求体中
//fileName:上传后的文件名
//mimeType:需要上网搜索mime,把相应的格式复制过来
NSString *path = [[NSBundle mainBundle]pathForResource:@"daji.jpg"ofType:nil];
[formData appendPartWithFileURL:[NSURL fileURLWithPath:path] name:@"image" fileName:@"666.jpg" mimeType:@"image/jpeg" error:nil];
} success:^(AFHTTPRequestOperation *operation, id responseObject) { NSString*str = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]; NSLog(@"str
= %@",str); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error
= %@",error); }];
}
//下载文件
-(void)testDownloadFile
{ NSString *urlString =@"http://imgcache.qq.com/club/item/avatar/zip/7/i87/all.zip";
//创建会话管理对象(通过默认配置)
AFURLSessionManager *manager = [[AFURLSessionManageralloc]initWithSessionConfiguration:[NSURLSessionConfigurationdefaultSessionConfiguration]];
NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] progress:nildestination:^NSURL *(NSURL *targetPath, NSURLResponse *response)
{
//返回文件保存的位置
NSString *path = [NSStringstringWithFormat:@"%@/Documents/all.zip",NSHomeDirectory()];NSLog(@"%@",NSHomeDirectory()); return [NSURL fileURLWithPath:path];
} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { NSLog(@"下载完成");
}];
//启动任务
[task resume];
}
//监控网络状态
-(void)testMonitorNetworkStatus
{
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManageralloc]initWithBaseURL:[NSURL URLWithString:@"www.baidu.com"]];
[manager.reachabilityManagersetReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{NSDictionary *dict = @{ @(AFNetworkReachabilityStatusUnknown): @"未知",@(AFNetworkReachabilityStatusNotReachable): @"不可达",@(AFNetworkReachabilityStatusReachableViaWWAN): @"GPRS", @(AFNetworkReachabilityStatusReachableViaWiFi): @"Wifi", }; NSLog(@"状态为%@",dict[@(status)]);
}];
//开启状态监视
[manager.reachabilityManager startMonitoring];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
相关文章推荐
- Linux中部署服务器Tinyhttpd并用Webbench测试抗压性能
- iOS ASIHttpRequest 和 AFNetWorking 实时监测下载进度
- 文章标题
- HTTP协议详解(转载)
- TCP 的那些事儿
- android之HttpURLConnection(转)
- facebook网络环境模拟工具atc
- 在html中写python代码的语法和特点-----基于webpy的http服务器
- CentOS---网络配置详解
- 《Java程序设计》第三次作业:网络编程
- HTTPS 证书处理 objective-c实现
- httpd启动失败
- 【智能家居篇】wifi网络访问原理(下一个)——联想Association
- Android网络图片三级缓存策略
- http://blog.sina.com.cn/s/blog_4e7859dd01009xds.html
- ASIHttpRequest框架使用说明-----post请求 以及监听网络
- wildfly用https的方式访问
- webService之(六)HTTP直接请求webService
- linux socket tcp 断开检测
- 免费网络推广目的?有哪些方法?怎么做?