基于AFNetworking3.0 的常用圖片上傳
JKHttpClientTool 對(duì)AFHTTPSessionManager 進(jìn)行封裝防止內(nèi)存泄露
#import#import "AFHTTPSessionManager.h"
@interface JKHttpClientTool : NSObject
+ (AFHTTPSessionManager *)sharedManager;
@end
#import "JKHttpClientTool.h"
@interface JKHttpClientTool ()
@end
static AFHTTPSessionManager *_manager;
@implementation JKHttpClientTool
+ (AFHTTPSessionManager *)sharedManager {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_manager = [AFHTTPSessionManager manager];
_manager.requestSerializer = [AFHTTPRequestSerializer serializer];
_manager.responseSerializer = [AFJSONResponseSerializer serializer];
_manager.requestSerializer.timeoutInterval = 30;
AFJSONResponseSerializer *response = [AFJSONResponseSerializer serializer];
response.removesKeysWithNullValues = YES;
_manager.responseSerializer = response;
_manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"text/plain", nil];
});
return _manager;
}
@end
JKHttpServiceManager 圖片上傳請(qǐng)求的封裝類
具體請(qǐng)求方法由于代碼過(guò)多只顯示了.h部分文件 ?.m 文件暫時(shí)就單圖片上傳部分
具體使用如下
#pragma mark ==單圖片上傳==
- (void)uploadImageOne {
//接口地址隨便更改
NSString *url = @"www.baidu.com";
//字典
NSDictionary *params = @{@"test":@"1"};
//圖片data
UIImage *goodImage = [[UIImage alloc]init];//隨便替換成什么圖片
NSData *imageData = UIImageJPEGRepresentation(goodImage, 0.5);//壓縮上傳
[JKHttpServiceManager POST:url Params:params NSData:imageData key:@"goods" success:^(id responseObject, BOOL succe, NSDictionary *jsonDic) {
if (succe) {
NSLog(@"上傳成功");
}
} failure:^(NSError *error) {
} animated:YES];
}
其他的2種方法在demo中,如果覺(jué)得不錯(cuò)麻煩給個(gè)star,如果覺(jué)得有什么缺漏,也麻煩聯(lián)系我讓我及時(shí)修復(fù)。
聯(lián)系方式 QQ:1084356436 ? 煩請(qǐng)備注(圖片上傳)!