使用AFN ,通過post請求上傳圖片,帶請求頭
//要上傳的圖片
UIImage *image = [UIImage imageNamed:@"image"];
//傳送圖片請求 ,0.5是上傳圖片的質量
NSData *data = UIImageJPEGRepresentation(image,0.5);
// 在網路開發中,上傳檔案時,是檔案不允許被覆蓋,檔案重名
// 可以在上傳時使用當前的系統事件作為檔名
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 設定時間格式
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [
NSString *fileName = [NSString stringWithFormat:@"%@.png", str];
//上傳帶的引數
NSDictionary *iconDic = @{@"qquuid":fileName,@"qqfilename":@"public.image",@"process":@"150x150"};
AFHTTPSessionManager *manager2 = [AFHTTPSessionManager manager];//初始化請求物件
//新增請求頭
[manager2.requestSerializer setValue:@"appwebkit4fm" forHTTPHeaderField:@"User-Agent"];
manager2.responseSerializer = [AFHTTPResponseSerializer serializer];//設定伺服器允許的請求格式內容
//上傳圖片/文字,只能同POST
[manager2 POST:@"http://app.jyyk12.com/ecloud/personal/updateimg.do?access_token=fa2374aa34095cb8b714f6f015465944" parameters:iconDic constructingBodyWithBlock:^(id_Nonnull formData) {
[formData appendPartWithFileData:data name:@"avatar" fileName:fileName mimeType:@"image/jpg"];
} progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id_Nullable responseObject) {
NSDictionary *resultData = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"resultData:%@%@",resultData,[resultData objectForKey:@"message"]);
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
NSString *code = [numFormatter stringFromNumber:[resultData objectForKey:@"code"]];
if ([code isEqualToString:@"200"]){
NSLog(@"上傳成功");
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];