//
// ViewController.m
// AFN上传文件
//
// Created by 唐帅 on 16/7/3.
// Copyright © 2014年 ItTS. All rights reserved.
//
#import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)uploadFile:(id)sender {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSString *urlstr = @"http://localhost/post/upload-m.php";
[manager POST:urlstr parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
// 文件二进制
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"mm01.jpg" ofType:nil]];
// 拼接请求体
[formData appendPartWithFileData:data name:@"userfile[]" fileName:@"mmm01.jpg" mimeType:@"image/jpg"];
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"%@",responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@",error);
}];
}
- (IBAction)downloadFile:(id)sender {
//配置信息
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//管理者
// AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:config];
//下载地址
NSString *urlstr = @"http://localhost/1.zip";
//请求
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlstr]];
NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
NSLog(@"%f",downloadProgress.fractionCompleted);
} destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
NSString *filePath = @"/Users/haoxu/Desktop/11/22.zip";
//这个一定不能错,错了就出不来了
return [NSURL fileURLWithPath:filePath];
} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
// 文件最终保存的路径 : 从上面自动剪切过来的
NSLog(@"%@",filePath.path);
}] ;
// 开启下载任务
[downloadTask resume];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end