从 iCloud 驱动器获取文件而不下载?

Posted

技术标签:

【中文标题】从 iCloud 驱动器获取文件而不下载?【英文标题】:Get file from iCloud drive without downloading? 【发布时间】:2016-12-09 14:48:09 【问题描述】:

如何从 UIDocumentPickerController 获取文件 url,以便稍后上传到我的服务器?发送文件作为实现的电报。现在只能从 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)
    

【问题讨论】:

【参考方案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 读取文件的内容。

【讨论】:

以上是关于从 iCloud 驱动器获取文件而不下载?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 CloudKit 从 iCloud 驱动器获取数据

从当前打开的从 Sharepoint 下载的 Word 文档 .docm 中获取字节数组,而不保存到本地驱动器

如何在没有 UIDocumentPickerViewController 的情况下访问所有 iCloud 驱动器文件(应用程序容器外)?

从 iCloud Drive iOS 目标 C 下载图像

我有一个 iCloud 文件的公共 URL,如何在 iOS 中获取直接下载链接?

iCloud 文档选择器:应用文件夹在导入时被禁用