本文主要是介绍AFNetWorking3.0 上传图片 和 简单封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上传图片
- ( void )saveImage:(UIImage *)image
{
NSString *url = @"" ; // 放上传图片的网址
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 初始化请求对象
manager.responseSerializer = [AFHTTPResponseSerializer serializer]; // 设置服务器允许的请求格式内容
// 上传图片 / 文字,只能同 POST
[manager POST:url parameters: nil constructingBodyWithBlock:^( id _Nonnull formData) {
// 对于图片进行压缩
//UIImage *image = [UIImage imageNamed:@"111"];
NSData *data = UIImageJPEGRepresentation(image, 0.1 );
//NSData *data = UIImagePNGRepresentation(image);
// 第一个代表文件转换后 data 数据,第二个代表图片的名字,第三个代表图片放入文件夹的名字,第四个代表文件的类型
[formData appendPartWithFileData:data name: @"1" fileName: @"image.jpg" mimeType: @"image/jpg" ];
} progress:^(NSProgress * _Nonnull uploadProgress) {
NSLog( @"uploadProgress = %@" ,uploadProgress);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog( @"responseObject = %@, task = %@" ,responseObject,task);
// id obj = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:nil];
// NSLog(@"obj = %@",obj);
//
//
}
简单封装
typedef void(^SuccessBlock)(id data);
typedef void (^FailBlock)( NSError *error);
//网络请求数据
+ (void)sendGETWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock
{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager. responseSerializer = [AFHTTPResponseSerializer serializer];
[manager GET:url parameters:dict progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
successBlock(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failBlock(error);
}];
}
+ ( void)sendPOSTWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock
{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager. responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:url parameters:dict progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
successBlock(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failBlock(error);
}];
}
+ ( void)sendPOSTWithUrlStr:(NSString *)url parameters:(NSString *)string success:(SuccessBlock)successBlock fail:(FailBlock)failBlock{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager. responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:url parameters:string progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
successBlock(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failBlock(error);
}];
}
+ (void)sendGETWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock
{
}
+ (
{
}
+ (
}
这篇关于AFNetWorking3.0 上传图片 和 简单封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!