[QBRequest signUp: user successBlock: ^ (QBResponse * response, QBUUser * user) {
// your file - this is an image in our case
NSData * imageData = UIImageJPEGRepresentation([UIImage imageNamed: @"Profile Picture"], 0.8 f);
[QBRequest TUploadFile: imageData fileName: @"ProfilePicture"
contentType: @"image/jpeg"
isPublic: YES successBlock: ^ (QBResponse * response, QBCBlob * blob) {
// File uploaded, do something
// if blob.isPublic == YES
NSString * url = [blob publicUrl];
}
statusBlock: ^ (QBRequest * request, QBRequestStatus * status) {
// handle progress
}
errorBlock: ^ (QBResponse * response) {
NSLog(@"error: %@", response.error);
}
];
I have been trying to sing up a user, and upload an profile image but can not figure out the right way to do it. Do I have to upload it to custom data, or content module??? I already have a field created in CustomData. The code is running the file is getting saved somewhere but i don know where.
What am I missing, please help>about to go crazy>>>thank you
After you uploaded your picture (TUploadFile), in successBlock set [blob ID] to your QBUUser blobID property. After that just perform update user:
QBUpdateUserParameters *params = [QBUpdateUserParameters new];
params.blobID = [blob ID];
[QBRequest updateCurrentUser:params successBlock:^(QBResponse * _Nonnull response, QBUUser * _Nullable user) {
// success block
} errorBlock:^(QBResponse * _Nonnull response) {
// error block
NSLog(@"Failed to update user: %@", [response.error reasons]);
}];
Swift 4.2 :
This answer is for those who want to set/get user profile image from url (set url of image)
we can use customData property of QBUUser class. it will hold a String.
set customData while signUp.
let newUser = QBUUser()
newUser.login = "Saifan"
newUser.fullName = "Nadaf"
//Set your image url string here
newUser.customData = "https://homepages.cae.wisc.edu/~ece533/images/arctichare.png"
newUser.password = "Pass@1234"
QBRequest.signUp(newUser, successBlock: { [weak self] response, user in
guard let self = self else {
return
}
//SignUp Sucessfull Call Login Method Here
}, errorBlock: { [weak self] response in
response.status.rawValue == 422 {
// The User With Existent Login Was Created Earlier
// Call Login Method Here
return
}
})
if we want to set/Update for existing users we can update user profile using QBUpdateUserParameters()
let updateUserParameter = QBUpdateUserParameters()
//Set ur Image URL to customData
updateUserParameter.customData = "https://homepages.cae.wisc.edu/~ece533/images/arctichare.png"
//Use updateCurrentUser() to update user parameters
QBRequest.updateCurrentUser(updateUserParameter, successBlock: { [weak self] response, user in
guard let self = self else {
return
}
//*** This is Success Block ***//
//variable user is current updated User you can check on admin panel also
print("updated custom data \(user.customData)")
//Connect to chat using QBChat.instance.connect()
}, errorBlock: { [weak self] response in
//Handle Error Here
})
fetch users profile image using recipientID from QBChatDialog class if Dialog is created.
QBRequest.user(withID: UInt(chatDialog.recipientID), successBlock: { (res, user) in
if let imgUrl = user.customData {
// Here we will get imageUrl
print(imgUrl)
} else {
// Set Default image here
}
}) { (response) in }
fetch user profile image using customData from QBUUser class
if let imgrUrl = user.customData{ // here user is a QBUUser()
// Here we will get imageUrl
print(imgUrl)
} else {
// Set Default image here
}
Check on admin panel leftSide->user->ID->

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With