如何在 Quickblox 中设置用户个人资料图像 objective c
How to set User Profile Image In Quickblox objective c
[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);
}
];
我一直在尝试吸引用户并上传个人资料图片,但无法找到正确的方法。我是否必须将其上传到自定义数据或内容模块???我已经在 CustomData 中创建了一个字段。代码是 运行 文件正在某处保存,但我不知道在哪里。
我漏了什么,求助>快要疯了>>>谢谢
上传图片 (TUploadFile) 后,在 successBlock 中将 [blob ID] 设置为您的 QBUUser blobID 属性。之后只需执行更新用户:
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 :
此答案适用于那些想要 set/get 来自 url 的用户个人资料图片(图片集 url)
我们可以使用 customData
属性 的 QBUUser
class。它将容纳 String
.
设置:
注册时设置customData
。
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
}
})
如果我们想 set/Update 现有用户,我们可以使用 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
})
获取:
使用 recipientID
从 QBChatDialog
class 获取用户个人资料图片(如果已创建对话框)。
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 }
使用 customData
从 QBUUser
class
获取用户个人资料图片
if let imgrUrl = user.customData{ // here user is a QBUUser()
// Here we will get imageUrl
print(imgUrl)
} else {
// Set Default image here
}
检查管理面板左侧->用户->ID->
[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);
}
];
我一直在尝试吸引用户并上传个人资料图片,但无法找到正确的方法。我是否必须将其上传到自定义数据或内容模块???我已经在 CustomData 中创建了一个字段。代码是 运行 文件正在某处保存,但我不知道在哪里。
我漏了什么,求助>快要疯了>>>谢谢
上传图片 (TUploadFile) 后,在 successBlock 中将 [blob ID] 设置为您的 QBUUser blobID 属性。之后只需执行更新用户:
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 :
此答案适用于那些想要 set/get 来自 url 的用户个人资料图片(图片集 url)
我们可以使用 customData
属性 的 QBUUser
class。它将容纳 String
.
设置:
注册时设置customData
。
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
}
})
如果我们想 set/Update 现有用户,我们可以使用 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
})
获取:
使用 recipientID
从 QBChatDialog
class 获取用户个人资料图片(如果已创建对话框)。
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 }
使用 customData
从 QBUUser
class
if let imgrUrl = user.customData{ // here user is a QBUUser()
// Here we will get imageUrl
print(imgUrl)
} else {
// Set Default image here
}
检查管理面板左侧->用户->ID->