AFNetwork上傳文件,下載文件,監控網絡狀態


//  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 = [AFCompoundResponseSerializer serializer];

[manager POST:urlString parameters:nil constructingBodyWithBlock:^(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:responseObject encoding:NSUTF8StringEncoding]; NSLog(@"str = %@",str); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error = %@",error); }];

[manager POST:urlString parameters:nil constructingBodyWithBlock:^(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 = [[AFURLSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {

//返回文件保存的位置

NSString *path = [NSString stringWithFormat:@"%@/Documents/all.zip",NSHomeDirectory()]; NSLog(@"%@",NSHomeDirectory()); return [NSURL fileURLWithPath:path]; } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { NSLog(@"下載完成"); }];

//啓動任務

[task resume];

}


//監控網絡狀態

-(void)testMonitorNetworkStatus

{

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc]initWithBaseURL:[NSURL URLWithString:@"www.baidu.com"]]; [manager.reachabilityManager setReachabilityStatusChangeBlock:^(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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章