我想在一个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];
}
}];
}
}];
}
答案 0 :(得分:1)
你不能(轻松地)将两个文件放入一个PFFFile中。 PFFFile意味着代表一个文件。
制作两个PFFile实例,一个用于图像,一个用于声音文件。
PFFile *imageFile = [PFFile fileWithName:imageFileName data:imageFileData];
PFFile *soundFile = [PFFile fileWithName:soundFileName data:soundFileData];
将PFFile的这些实例设置为相应的解析列。 E.g:
[message setObject:imageFile forKey:@"imageFile"];
[message setObject:soundFile forKey:@"soundFile];