使用 Flutter 将图像上传到通用 Google Drive 帐户

Posted

技术标签:

【中文标题】使用 Flutter 将图像上传到通用 Google Drive 帐户【英文标题】:Uploading Images To A Common Google Drive Account Using Flutter 【发布时间】:2021-06-29 10:33:43 【问题描述】:

我正在尝试找到一种方法,将图像从我的颤振应用程序上传到谷歌驱动器中的一个特定帐户。请参阅以下流程图以供参考。

用户 1 -> 从设备中选择图像 -> 在 Flutter 应用中显示该图像 -> 在 test@gmail.com Google Drive 中上传 -> 允许与拥有链接的所有人共享 -> 在 Flutter 应用中获取链接。

请注意,用户 1 无权访问 test@gmail.com

【问题讨论】:

我想帮助你,但我有点困惑......当你没有 test@gmail.com 的访问权限/凭据时,你如何将图像上传到 test@gmail.com?您必须先进行身份验证...嗯...如果您只是询问如何将图像上传到 Google Drive,那很容易。请澄清。 您考虑过使用服务帐号吗? @minchaej 我想做的不是使用 Firebase 存储,而是使用谷歌驱动器作为所有图像的后端。因此,如果用户发布他的个人资料图片,我希望将其存储在我的 Google Drive 帐户中,而不是 Firebase 存储中。类似的东西。希望这清楚了。如果需要任何其他说明,请告诉我。 感谢您的澄清。 【参考方案1】:

是的,您可以将图片上传到 Google 云端硬盘。

您可以使用Google Drive API上传和下载图片。

这是手册:

How to upload files to Google Drive? How to download files to Google Drive?

如果您还有其他问题,请告诉我。

PS:但是,建议您使用 Google Drive 作为您的CDN,因为当您的流量很大时,Google Drive 会限制您的 API 使用。如果您计划将来扩展您的应用程序,我会推荐一个合适的CDN

【讨论】:

如果我打算使用谷歌驱动器只是为了在我的颤振应用程序中加载一些默认资产,你会建议这样做吗?就像一些资产图片一样。 实际上相当多,因为一开始它只是一个国家,后来扩大了。就像我计划的那样,因为它只是一些很少会改变的资产,所以我将手动上传我的谷歌驱动器中的图像,并以颤振接受的格式创建一个共享链接并显示它。这就是我所说的在网络中有一些默认资产的用例。 好的...然后...永远不要将 Google Drive 用作您的 CDN。再少,再静态,再小,如果你的用户基数很大,都满足不了你的需求。此外,如果您正在考虑扩展您的应用程序,Google Drive 没有可扩展性。请使用适当的 CDN。我是根据我诚实的行业经验这么说的。 好的@minchaej 非常感谢您的帮助。你能推荐一些与firebase配合得很好的好CDN吗? @LakshyaJain 当然,毫无疑问,我会推荐Amazon CloudFront。它是业界领先的 CDN,非常灵活且可扩展。它与包括 Firebase 在内的几乎所有东西都很好地集成在一起。

以上是关于使用 Flutter 将图像上传到通用 Google Drive 帐户的主要内容,如果未能解决你的问题,请参考以下文章

Flutter - 将图像上传到 Firebase 存储

使用 Flutter (iOS/Android) 将图像上传到 Azure blob

Flutter - 将图像上传到 Firebase 存储

将图像/文件上传到 Strapi (Flutter Web)

Flutter AZURE BLOB IMAGE UPLOAD - 如何将使用移动相机拍摄的图像上传到 azure blob 存储

Flutter将图像上传到firebase存储然后将其写入firestore