Comment download la photo du profil Utilisateurs et comment récupérer cette photo de profil à partir d'un autre appareil user?

J'ai une exigence, Disons qu'il y a 3 users pour mon application. Je veux append une image (but de pic de profil) à chaque user afin que cette image puisse être visible aux deux autres users qui utilisent la même application. Tout comme les photos de profil WhatsApp. Donc, à cet effet, j'ai fait les choses suivantes.

Étape 1: Connecté en tant qu'user1 puis j'ai ajouté ce code pour download le file image. Après que je me suis connecté avec des informations d'identification User1 et j'ai rendu la propriété publique comme OUI lors du téléchargement de file.

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) { }]; 

Étape 2: Connecté en tant qu'user2

Ensuite, j'ai fait comme ça, je vais chercher tous les users appartiennent à mon application. en utilisant

 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) { }]; 

Étape 3: Maintenant, j'ai tous les users, donc je fais l'itération pour find l'ID blob des users.

  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) { }]; } 

Mais le problème est ici, je ne reçois aucun blobID avec l'user1 signifie blobID de user1 comme 0 (tous les users blobID comme 0), Mais pendant le téléchargement, c'était le succès et j'ai blobID après avoir téléchargé le file en utilisant User1 comme connecté.

Mais quand je me suis connecté en tant qu'user2 ou user3, il ne montre aucun blobID associé à user1. Et j'ai rendu Public comme Oui lors du téléchargement. Est-ce la façon correcte de faire ou toute erreur que je fais s'il vous plaît faites le moi savoir?

Vous devez mettre à jour le blobID de l'user en utilisant request avec QBUpdateUserParameters après le téléchargement de blob:

  [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) { }];