From 83bec2d75a4742534d91569b26fb66aa5e61aba1 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 16 Feb 2016 12:32:33 +0100 Subject: [PATCH] - Fix Avatar --- Pod/Classes/PNClasses/PNUser.h | 13 ++++++++++++- Pod/Classes/PNClasses/PNUser.m | 26 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Pod/Classes/PNClasses/PNUser.h b/Pod/Classes/PNClasses/PNUser.h index 3ccb0dd..3c11625 100644 --- a/Pod/Classes/PNClasses/PNUser.h +++ b/Pod/Classes/PNClasses/PNUser.h @@ -80,7 +80,18 @@ blockSuccess:(nullable void (^)(PNUser * _Nullable responseObject))success failure:(nullable void (^)(NSError * _Nonnull error))failure; - +/** + * <#Description#> + * + * @param avatar <#avatar description#> + * @param uploadProgress <#uploadProgress description#> + * @param success <#success description#> + * @param failure <#failure description#> + */ ++ (void) uploadAvatar:(UIImage * _Nonnull) avatar + Progress:(nullable void (^)(NSProgress * _Nonnull uploadProgress)) uploadProgress + Success:(nullable void (^)(NSDictionary * _Nullable responseObject))success + failure:(nullable void (^)(NSError * _Nonnull error))failure; - (void) reloadFormServer; /** diff --git a/Pod/Classes/PNClasses/PNUser.m b/Pod/Classes/PNClasses/PNUser.m index cf3d512..4204289 100644 --- a/Pod/Classes/PNClasses/PNUser.m +++ b/Pod/Classes/PNClasses/PNUser.m @@ -289,6 +289,32 @@ static bool isFirstAccess = YES; } ++ (void) uploadAvatar:(UIImage * _Nonnull) avatar + Progress:(nullable void (^)(NSProgress * _Nonnull uploadProgress)) uploadProgress + Success:(nullable void (^)(NSDictionary * _Nullable responseObject))success + failure:(nullable void (^)(NSError * _Nonnull error))failure { + + PNObjectFormData *formData = [PNObjectFormData formDataFromUIImage:avatar compression:1 name:@"file" fileName:@"avatar.jpg" mimeType:@"image/jpeg"]; + + [self POSTWithEndpointAction:@"user/avatar" + formData:@[formData] + parameters:nil + progress:uploadProgress + success:^(NSURLSessionDataTask * _Nullable task, NSDictionary * _Nullable responseObject) { + if (success) { + success(responseObject); + } + [[PNUser currentUser] setProfileImage:avatar]; + [[PNUser currentUser] reloadFormServer]; + } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { + if (failure) { + failure(error); + } + }]; + + +} + - (BOOL) isAuthenticated { return self.authenticated; }