使用Parse.com上传video

我是新手解析,我正在尝试保存并将video上传到云端。 这是我正在使用的代码,但是在调用doneButtonAction时它会一直出错。 我认为问题是video被保存为文件,但我不知道如何解决这个问题。 先谢谢你 –

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL]; NSLog(@"%@", videoURL); if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (self.moviePath)) { UISaveVideoAtPathToSavedPhotosAlbum (self.moviePath, nil, nil, nil); } [self shouldUploadVideo]; [self doneButtonAction]; } - (void)shouldUploadVideo { //Capturamos el NSUserdefault para grabar el evento NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *loadstring = [defaults objectForKey:@"Video"]; NSLog(@"Working at first line"); NSData *videoData = [NSData dataWithContentsOfURL:self.videoURL]; NSLog(@"Working at second line"); PFFile *videoFile = [PFFile fileWithData:videoData]; NSLog(@"Working at third line"); [self.videoFile saveInBackground]; NSLog(@"Working at last line"); } - (void)doneButtonAction { // Make sure there was no errors creating the image files if (!self.videoFile) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Couldn't save your photo" message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Dismiss",nil]; [alert show]; return; } // Create a Photo object PFObject *video = [PFObject objectWithClassName:kPAPPhotoClassKey];  forKey:kPAPPhotoUserKey]; ; // Request a background execution task to allow us to finish uploading // the photo even if the app is sent to the background self.photoPostBackgroundTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ [[UIApplication sharedApplication] endBackgroundTask:self.photoPostBackgroundTaskId]; }]; // Save the Photo PFObject  setAttributesForPhoto:video likers:[NSArray array] commenters:[NSArray array] likedByCurrentUser:NO]; // Send a notification. The main timeline will refresh itself when caught [[NSNotificationCenter defaultCenter] postNotificationName:PAPTabBarControllerDidFinishEditingPhotoNotification object:video]; } else { NSLog(@"Photo failed to save: %@", error); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Couldn't post your photo" message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Dismiss",nil]; [alert show]; } // If we are currently in the background, suspend the app, otherwise // cancel request for background processing. [[UIApplication sharedApplication] endBackgroundTask:self.photoPostBackgroundTaskId]; }]; // Dismiss this screen [self.parentViewController dismissViewControllerAnimated:YES completion:nil]; } 

 - (void)shouldUploadVideo { 

你有:

 PFFile *videoFile = [PFFile fileWithData:videoData]; NSLog(@"Working at third line"); [self.videoFile saveInBackground]; NSLog(@"Working at last line"); 

您正在尝试在后台上传self.videoFile – 而不是videoFile

这意味着videoFile不会在后台上传PFFile。

更改

 PFFile *videoFile = [PFFile fileWithData:videoData]; 

 self.videoFile = [PFFile fileWithData:videoData];