Frage

In meiner Anwendung kann der Benutzer ein Video aufnehmen, die UIImagePickerController verwenden, und ich brauche es auf der Festplatte für eine spätere Verwendung zu speichern. Ich habe den Weg aus dem Info-Wörterbuch bekommen, und ich werde es auf meine Dokumente Verzeichnis speichern, aber das Problem, das ich habe, ist, dass die URL im Wörterbuch übergeben ist genau das - eine URL und keinen Dateipfad . Wenn ich es in einen String mit absoluteString konvertieren und übergeben, die als Quellpfad zu meinem Dateimanager, schlägt es die Quelldatei sagen, wurde nicht gefunden.

Alter Pfad: Datei: //localhost/private/var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/tmp/capture/capturedvideo.MOV

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

Es muss eine einfache Möglichkeit sein, meine URL der Datei-Manager verarbeiten kann, um etwas zu konvertieren. Ich vermute, ich kann nicht einfach alle die Videos im Verzeichnis tmp verlassen, müssen sie auf das Dokumentenverzeichnis gespeichert werden, wenn ich möchte, dass sie halten um nicht wahr?

Auch ist dies nicht wirklich verwandt, aber wie könnte ich einen Thumbnail des Videos in einer Tabellenansicht zeigen?

War es hilfreich?

Lösung

  

Es muss eine einfache Möglichkeit sein, meine URL der Datei-Manager verarbeiten kann, um etwas zu konvertieren.

Du hast Recht - es is eine einfache Möglichkeit, es ist nur in der Dokumentation begraben:

NSString *myPath = [myUrl path];

Von der Dokumentation für die path Methode:

  

Rückgabewert
  Der Pfad der URL. Wenn der Empfänger nicht entspricht RFC 1808, ohne Angaben. isFileURL Wenn JA zurückgibt, ist der Rückgabewert geeignet zur Eingabe in NSFileManager oder NSPathUtilities. Wenn der Pfad einen nachgestellten Schrägstrich hat es abgezogen wird.

Andere Tipps

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


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

  [imageData writeToFile:tempPath atomically:NO];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top