说明:
此处使用PUT请求方式
1.增加Authorization头字段,通过服务端账号认证;
2.使用NSURLSession+NSURLSessionUploadTask实现文件上传。
一、使用NSURLSessionUploadTask实现文件上传:
/*
文件上传(put方式)
*/
- (void)uploadFile{
//1.创建url对象
NSURL *url = [NSURL URLWithString:@"url地址"];
//2.创建request对象
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:2.0f];
//设置为put方式
request.HTTPMethod = @"PUT";
//4.设置授权
//创建账号NSData
NSData *accountData = [@"yyh:123456" dataUsingEncoding:NSUTF8StringEncoding];
//对NSData进行base64编码
NSString *accountStr = [accountData base64EncodedStringWithOptions:0];
//生成授权字符串
NSString *authStr = [NSString stringWithFormat:@"BASIC %@", accountStr];
//增加授权头字段
[request setValue:authStr forHTTPHeaderField:@"Authorization"];
//5.获取本地文件
NSURL *file = [[NSBundle mainBundle] URLForResource:@"icon" withExtension:nil];
//6.创建上传任务
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request fromFile:file completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
}];
//7.执行上传
[uploadTask resume];
}