1

使用 UIDocumentPickerViewController 使用 icloud 获取所有文件[pdf,docx,doc,xlsxl,image]。这是我的代码

 @IBAction func uploadNewResumeAction(_ sender: Any) {
 let documentPicker = UIDocumentPickerViewController(documentTypes: ["public.text", "com.apple.iwork.pages.pages", "public.data"], in: .import)
        documentPicker.delegate = self
        present(documentPicker, animated: true, completion: nil)
}


extension SchoolRulesView: UIDocumentPickerDelegate{

    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
        let cico = url as URL
        print(cico)
        print(url)
        print(url.lastPathComponent)
        print(url.pathExtension)
    }
}

在某些情况下只想显示一个文件 docx,pdf,xlsxl,images。这怎么可能?

还想获取 iphone 本地存储的 .docx 文件 [例如:要上传的 android 手机本地存储文件显示]。

同样想要获取所有 iphone 存储的本地文档并上传到服务器。怎么能成就我。帮助我提前感谢。

4

2 回答 2

2

您应该使用 UTI 来定义允许的内容类型。完整列表可在此处获得。

PDF、Microsoft Word、Microsoft Excel、PNG 和 JPEG 示例:

let documentTypes = [kUTTypePDF as String, "com.microsoft.word.doc", "com.microsoft.excel.xls", kUTTypePNG as String, kUTTypeJPEG as String]
let documentPicker = UIDocumentPickerViewController(documentTypes: documentTypes, in: .import)
于 2018-05-21T12:56:43.363 回答
1

有多个问题混合在一起......

  • 您对 UIDocumentPickerViewController 的使用看起来是正确的。例如,如果您只想选择 Word 文档,您确实可以自定义 UTI 列表。

  • 要预览文件,可以使用 QLPreviewController

  • UIDocumentPickerViewController 可用于 iCloud(和其他云服务)和本地存储(文件应用程序的 «在我的 iPhone» 部分)

  • 出于隐私原因,无法上传“所有”文件。但是您可以要求用户在选择器中选择他们要上传的所有文档。

于 2018-05-22T07:48:15.187 回答