0

我想在一个 PFFile 中保存 2 个数据:一个图像和一个数据声音。这对图像 (fileData) 是正确的,但我想在 Parse.com 中为数据声音 (fileData2) 添加一列。我怎样才能做到这一点?我做不到:“PFFile *file = [PFFile fileWithName:fileName data:fileData,fileData2];”

这是我的代码:

- (void)uploadMessage {
    NSData *fileData;
    NSData *fileData2;
    NSString *fileName;
    NSString *fileType;

    if (self.image != nil) {
        [SVProgressHUD showWithStatus:@"Sending..." maskType:SVProgressHUDMaskTypeClear];
        UIImage *newImage = [self resizeImage:self.image toWidth:320.0f andHeight:480.0f];
        fileData = UIImagePNGRepresentation(newImage);
        fileData2 = self.datasound;
        fileName = @"image.png";
        fileType = @"image";
    }

    PFFile *file = [PFFile fileWithName:fileName data:fileData];
    [file saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
        if (error) {
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"An error occurred!"
                                                                message:@"Please try sending your message again."
                                                               delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [SVProgressHUD dismiss];
            [alertView show];
        }
        else {
            PFObject *message = [PFObject objectWithClassName:@"Messages"];
            [message setObject:file forKey:@"file"];
            [message setObject:fileType forKey:@"fileType"];
            [message setObject:self.recipients forKey:@"recipientIds"];
            [message setObject:[[PFUser currentUser] objectId] forKey:@"senderId"];
            [message setObject:[[PFUser currentUser] valueForKey:@"name"] forKey:@"senderName"];
            [message saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
                if (error) {
                    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"An error occurred!"
                                                                        message:@"Please try sending your message again."
                                                                       delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
                    [SVProgressHUD dismiss];
                    [alertView show];
                }
                else {
                    // Everything was successful!
                    [self reset];
                    [SVProgressHUD dismiss];
                }
            }];
        }
    }];
}
4

1 回答 1

1

您不能(轻松)将两个文件放入一个 PFFFile。PFFFile 旨在表示一个文件。

创建两个 PFFile 实例,一个用于图像文件,一个用于声音文件。

PFFile *imageFile = [PFFile fileWithName:imageFileName data:imageFileData];
PFFile *soundFile = [PFFile fileWithName:soundFileName data:soundFileData];

将 PFFile 的这些实例设置为相应的解析列。例如:

[message setObject:imageFile forKey:@"imageFile"];
[message setObject:soundFile forKey:@"soundFile];
于 2014-09-16T19:05:18.843 回答