2016-12-09 16 views
0

Comment obtenir l'URL du fichier depuis UIDocumentPickerController, pour le télécharger plus tard sur mon serveur? Envoi de fichiers tel que mis en œuvre Telegram. Maintenant, il n'y a que la possibilité de télécharger un fichier à partir d'icloud et d'envoyer plus tard. Mais je veux apprendre à mettre en œuvre dans le télégramme?Obtenir un fichier depuis le lecteur iCloud sans le télécharger?

C'est mon code maintenant:

func openPicker() { 
    let documentPicker: UIDocumentPickerViewController = UIDocumentPickerViewController(documentTypes: ["public.data"], inMode: UIDocumentPickerMode.Open) 
    documentPicker.delegate = self 
    documentPicker.modalPresentationStyle = UIModalPresentationStyle.FullScreen 
    self.presentViewController(documentPicker, animated: true, completion: nil) 
} 

func documentPicker(controller: UIDocumentPickerViewController, didPickDocumentAtURL url: NSURL) { 
    if controller.documentPickerMode == UIDocumentPickerMode.Open { 
     let fileManager = NSFileManager.defaultManager() 
     print(fileManager.fileExistsAtPath(url.path!)) 
     let data = NSData(contentsOfFile: url.path!) 
     let document = UIDocument(fileURL: url) 
    } 
} 

Répondre

0

Cela a fonctionné pour moi, j'ai pu aller chercher l'URL du fichier et lire le contenu de sans avoir à télécharger le fichier

let documentPickerController = UIDocumentPickerViewController(documentTypes: [ICLOUD_DOCUMENT_SEARCH_TYPE], inMode: UIDocumentPickerMode.Import) 
     documentPickerController.delegate = self 
     self.presentViewController(documentPickerController, animated: true, completion: nil) 

func documentPicker(controller: UIDocumentPickerViewController, didPickDocumentAtURL url: NSURL) { 
    print(url) 
} 

À partir de l'URL, vous pouvez ensuite utiliser NSFileManager pour lire le contenu du fichier.