Question

Dans mon application, l'utilisateur peut enregistrer une vidéo en utilisant le UIImagePickerController, et je dois l'enregistrer sur le disque pour une utilisation ultérieure. Je suis devenu le chemin du dictionnaire d'information et je vais l'enregistrer dans mon répertoire de documents, mais le problème que je vais avoir est que l'URL passé dans le dictionnaire est juste que - une URL et non un chemin de fichier . Quand je le convertir en une chaîne en utilisant absoluteString et passer que le chemin source à mon gestionnaire de fichiers, il ne parvient indiquant que le fichier source n'a pas été trouvé.

Vieux Chemin: Fichier: //localhost/private/var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/tmp/capture/capturedvideo.MOV

Nouveau chemin: /var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/Documents/video1.mov

Il doit y avoir un moyen facile de convertir mon URL à quelque chose que le gestionnaire de fichiers peut gérer. Je devine que je ne peux pas laisser toutes les vidéos dans le répertoire tmp, ils doivent être enregistrés dans le répertoire des documents si je veux les garder autour de droit?

En outre, ce n'est pas vraiment lié, mais comment pourrais-je obtenir une miniature de cette vidéo à afficher dans une vue de tableau?

Était-ce utile?

La solution

  

Il doit y avoir un moyen facile de convertir mon URL à quelque chose que le gestionnaire de fichiers peut gérer.

Vous avez raison - il un moyen facile, il est simplement caché dans la documentation:

NSString *myPath = [myUrl path];

A partir de la documentation pour la méthode path:

  

Valeur de retour
  Le chemin de l'URL. Si le récepteur ne se conforme pas à la RFC 1808, retourne nul. Si isFileURL retourne OUI, la valeur de retour est appropriée pour l'entrée en NSFileManager ou NSPathUtilities. Si le chemin a un slash il est dépouillé.

Autres conseils

NSData *imageData = [NSData dataWithContentsOfURL:[info objectForKey:@"UIImagePickerControllerMediaURL"]];


NSString *tempPath = [NSString stringWithFormat:@"%@/Documents/%@.mp4",NSHomeDirectory(),dateStr];

  [imageData writeToFile:tempPath atomically:NO];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top