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

标签 ios google-drive-api files-app

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

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

文件应用程序看起来是执行此任务的最佳人选。用户已经在文件应用程序中连接了他们的云提供商,我几乎不需要担心任何事情。

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

我以为这很容易,但现实却大不相同。 Google Drive 与文件应用程序的集成似乎非常薄弱。我在使用 Google 云端硬盘时遇到以下问题:

拦截器 1 - 当选择我想要导出文件的 Google 云端硬盘文件夹时,我收到以下系统警报:操作无法完成。无法与帮助程序应用程序通信 enter image description here

Blocker 2 - 呈现 UIDocumentPickerViewController 时,云提供商列表有时会显示为灰色。

enter image description here

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

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

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

最佳答案

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

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

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

强调我的。

您可能希望分解您的请求以适应该限制。

关于iOS - 将(100 多个)文件导出到 Google 云端硬盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54658046/

相关文章:

ios - Bootstrap 3 中 Canvas 外移动菜单的问题

c# - 我们可以在 Windows 环境中使用 MonoTouch 开发 iOS 应用程序吗?

ios - 我们如何在不使用 nib 文件的情况下在 iPhone 应用程序中加载用户界面?

javascript - 哪个(如果有)Javascript 存储 API(Google Drive、Dropbox、OneDrive)提供自动同步?

google-drive-api - 将 Google Drive 的 "Computers"挂载到 Colaboratory

javascript - 是否可以使用 Expo 将文件写入 iOS 文件系统,以便可以通过 iOS 11 文件应用程序访问该文件

ios - 如何使用应用商店配置文件退出应用以添加 beta-reports-active key ?

java - org.apache.catalina.core.ContainerBase : A child container failed during start

ios - 通过 URL Scheme 或其他方式打开 iOS 11 文件应用