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 文件的任务