加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 如何上传用户个人资料图片以及如何从其他用户设备获取该

发布时间:2020-12-15 01:46:28 所属栏目:百科 来源:网络整理
导读:我有一个要求,让我们说我的应用程序有3个用户.我想为每个用户添加一个图像(配置文件图片用途),以便其他两个使用相同应用程序的用户可以看到此图像.就像whatsapp个人资料照片一样.所以为此我做了以下事情. 第1步:以User1身份登录 然后我添加了这段代码来上传
我有一个要求,让我们说我的应用程序有3个用户.我想为每个用户添加一个图像(配置文件图片用途),以便其他两个使用相同应用程序的用户可以看到此图像.就像whatsapp个人资料照片一样.所以为此我做了以下事情.

第1步:以User1身份登录
然后我添加了这段代码来上传图片文件.在我使用User1凭据登录后,我在上传文件时将Public属性设置为YES.

NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"arrow.png"]);

[QBRequest TUploadFile:imageData fileName:@"arrow.png" contentType:@"image/png" isPublic:YES successBlock:^(QBResponse *response,QBCBlob *blob) {

} statusBlock:^(QBRequest *request,QBRequestStatus *status) {
} errorBlock:^(QBResponse *response) {
}];

第2步:以User2身份登录

然后我确实喜欢这个我正在获取属于我的应用程序的所有用户.运用

QBGeneralResponsePage *responsePage = [QBGeneralResponsePage responsePageWithCurrentPage:currentPage perPage:perPage];

[QBRequest usersForPage:responsePage successBlock:^(QBResponse *response,QBGeneralResponsePage *page,NSArray *users) {

    weakSelf.allUsers = [users mutablecopy]
    [weakSelf.tableView reloadData];

} errorBlock:^(QBResponse *response) {

}];

第3步:
现在我拥有所有用户,所以我正在迭代查找用户blob id.

QBUUser *user = (QBUUser *)self.allUsers[indexPath.row];


if (user.blobID != 0) {

    [QBRequest downloadFileWithID:user.blobID successBlock:^(QBResponse *response,NSData *fileData) {

        UIImage *img=[UIImage imageWithData:fileData];
        [cell.imageView setImage:img];

    } statusBlock:^(QBRequest *request,QBRequestStatus *status) {

    } errorBlock:^(QBResponse *response) {

    }];
}

但问题是在这里我没有得到任何blobID,User1意味着user1的blobID为0(所有用户blobID为0),但是上传它是成功的,我在登录后使用User1上传文件后得到了blobID.

但是当我以user2或User3登录时,它没有显示与user1关联的任何blobID.我在上传时将公开视为是.
这是正确的做法还是我正在做的任何错误请告诉我?

解决方法

在blob上传后,您应该使用QBUpdateUserParameters请求更新用户的blobID:

[QBRequest TUploadFile:imageData fileName:@"arrow.png" contentType:@"image/png" isPublic:YES successBlock:^(QBResponse *response,QBCBlob *blob) {

            QBUpdateUserParameters *userParams = [QBUpdateUserParameters new];
            userParams.blobID = blob.ID;

            [QBRequest updateCurrentUser:userParams successBlock:^(QBResponse * _Nonnull __unused response,QBUUser * _Nullable user) {
            } errorBlock:^(QBResponse * _Nonnull response) {

            }];

        } statusBlock:^(QBRequest *request,QBRequestStatus *status) {

        } errorBlock:^(QBResponse *response) {
        }];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读