如何使用 Parse 向用户发送照片?

How to send users a photo with Parse?

我已经在 Xcode 中使用相机胶卷中的图像设置了一个 imageView,我希望能够将这张照片发送给已在当前用户好友列表中的其他用户。我了解一般如何上传照片,但我真的不知道照片如何与用户相关联并发送到用户选择的朋友列表。我尝试使用 PFQuery,但每次我尝试按照 Parse 网站上的 AnyPic 示例操作时都会收到错误消息。 (错误来自 Xcode 无法找到的 KPAP forkey)

我的代码可用于将照片发送到 Parse 服务器,但我不认为我的代码与发送它的用户相关联,并且它不能用于发送列表人们的代码。

PFObject * newImage = [PFObject objectWithClassName:@"collectionView"];
NSData * imageData = UIImageJPEGRepresentation(imageView.image, 1.0f);
PFFile * newImageFile = [PFFile fileWithName:@"picture.jpeg" data:imageData];
[newImage setObject:newImageFile forKey:@"imageFile"];
[newImage saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

    if(!error)
    {
        NSLog(@"sucess");

    }
}];

任何帮助都会对我大有裨益!

如果我对你的问题理解正确,你需要添加一个新列"user"来关联图像和发送图像的用户。

[newImage setObject:[PFUser currentUser] forKey:@"user"];
[newImage setObject:newImageFile forKey:@"imageFile"];
[newImage saveInBackgroundWithBlock...

看了你的代码,你只是将图片保存在云端,没有指定上传者和访问者(未设置读写权限)。

默认情况下,无论您在解析云中存储什么,ACL(访问控制列表)都是Public读、写。

所以,如果你想关联一个上传图片的用户,你可以像下面这样使用。

//it will return the current user detail
PFUser *currentUser = [PFUser currentUser];

PFFile * newImageFile = [PFFile fileWithName:@"picture.jpeg" data:imageData];

//Assign image to current user
currentUser[@"image"] = newImage; 

[currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
        if (succeeded) {
           //success
        } else if (error) {
           //error
        }
}];

您可以使用 PFRole 或 PFACL 将访问权限授予其他用户。