iOS-将(100+)个文件导出到Google云端硬盘

时间:2019-02-12 20:14:01

标签: ios google-drive-api files-app

我的应用程序可处理图片和注释文件。注释文件仅仅是XML文件,其中包含每张图片的信息。这样,用户可以拥有一个包含100张图片+ 100个批注文件的数据集。

在某个时候,我希望用户能够将这些文件导出到云服务,最好是iCloud或Google-Drive,以便它们可以用于进一步的处理/工作。

Files App看起来是完成此任务的最佳人选。用户已经在Files App中连接了他们的云提供商,而我几乎不必担心任何事情。

 func presentLocationPicker(forExportingFiles urls: [URL]) {
        let documentPicker = UIDocumentPickerViewController(urls: urls, in: .exportToService)
        self.present(documentPicker, animated: true)
 }

我认为这很容易,但是现实却大不相同。 Google Drive与Files App的集成似乎非常薄弱。 Google云端硬盘存在以下问题:

Blocker 1 -在选择我要导出文件的Google驱动器文件夹时,出现以下系统警报:The Operation Can't Be Completed. Couldn't communicate with the helper application enter image description here

Blocker 2 -在显示UIDocumentPickerViewController时,云提供商列表有时会变灰。

enter image description here

Blocker 3 -如果我直接从Files App尝试将文件夹(例如包含100个项目)移动到Google云端硬盘,那么它也不起作用。仅复制一些文件,而不复制原始文件夹结构。只是一团糟。

所以我的第一个问题是:我应该对UIDocumentPickerViewController做一些不同的事情来避免 Blocker 1

第二个问题是:还有其他方法可以将多个文件(超过100个)导出到用户的Google云端硬盘帐户?我没主意。

1 个答案:

答案 0 :(得分:0)

这来自Google Drive API页面,但我怀疑该SDK受到相同的限制。

https://developers.google.com/drive/api/v3/manage-uploads

  • 简单上传:uploadType = media。快速传输小文件( 5 MB或更少)。要执行简单上传,请参阅执行简单上传。
  • 分段上传:uploadType = multipart。快速传输小文件( 5 MB或更少)和描述文件的元数据,所有这些都可在单个请求中完成。要执行分段上传,请参阅执行分段上传。

重点增强。

您可能希望分拆您的请求以符合该限制。