• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:07:02 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个要求,假设我的应用有 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) {

    }];
}

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

但是当我以 user2 或 User3 身份登录时,它没有显示任何与 user1 关联的 blobID。我在上传时将其设为"is"。 这是正确的做法还是我正在做的任何错误请告诉我?



Best Answer-推荐答案


您应该在 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) {
        }];

关于ios - 如何上传用户个人资料图片以及如何从其他用户设备获取该个人资料图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37043763/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap