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

Posted

技术标签:

【中文标题】iOS - 将(100 多个)文件导出到 Google 云端硬盘【英文标题】:iOS - Export (100+) files to Google Drive 【发布时间】:2019-07-06 13:40:42 【问题描述】:

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

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

文件应用程序看起来最适合这项任务。用户已经在 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

拦截器 2 - 显示 UIDocumentPickerViewController 时,云提供商列表有时会显示为灰色。

Blocker 3 - 如果直接从 Files App 我尝试将文件夹(例如 100 项)移动到 Google Drive,它也不起作用。只复制了一些文件,而不是原始文件夹结构。只是一团糟。

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

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

【问题讨论】:

【参考方案1】:

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

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

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

强调我的。

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

【讨论】:

以上是关于iOS - 将(100 多个)文件导出到 Google 云端硬盘的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pandas 将多个日志文件数据导出到单个 Excel

重复将多个 Panda 数据集导出到多个 csv 文件的任务

MySQL:将多个表导出到 CSV 文件

iOS - 如何将混合音频合成导出到文件大小最小的文件?

使用 SSIS 脚本任务将数据从多个 SQL 表导出到不同的平面文件

需要将一个 150GB 的 SQL Server 表导出到多个管道分隔的平面文件中