Получить файл с диска iCloud без загрузки?

Как получить URL-адрес файла из UIDocumentPickerController для последующей загрузки на мой сервер? Отправка файлов реализована в Telegram. Теперь есть только возможность скачать файл из icloud и отправить позже. Но хочу узнать, как реализовать в телеграмме?

Теперь это мой код:

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)
    }
}

person Zept    schedule 09.12.2016    source источник


Ответы (1)


Это сработало для меня, я смог получить URL-адрес файла и прочитать его содержимое без необходимости загружать файл

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)
}

Из URL-адреса вы можете использовать NSFileManager для чтения содержимого файла.

person Rakshith Nandish    schedule 29.03.2017