使用 iOS 将图像上传到在线存储的最佳(或最佳)做法是什么?

what is the best (or most optimal) practice for uploading images to online storage with iOS?

我目前正在制作一个需要图片上传功能的 iOS 应用。我正在使用 Firebase 进行图像存储,我在 rails API 上使用 ruby 我为其他一切(例如身份验证、用户帐户等)构建的图像上传工作在然而,应用程序中的这一点有点慢(这令人担忧,因为我是唯一一个使用它的人。这不像是一次将一堆 HTTP 请求发送到 API 或 firebase ,这只是我测试它)。这就是我目前处理上传的方式:

  1. 用户选择要上传的照片。
  2. 照片被转换为 png 字符串表示形式并被发送到 firebase 存储
  3. 从 firebase 下载的照片 URL 已返回
  4. 然后 URL 被发送到 API 并分配给该特定用户的 profile_image 属性。

这就完成了。因此,当用户想要查看该照片时:

  1. 向 API 发出获取请求,它响应用户的所有可共享属性,例如用户名等等,还有 URL 到该图像。
  2. 然后应用 'downloads' 该图像并将其放入 UIImageView 中。

一些 cocoa pods 我用它来实现这个:

  1. Alamofire
  2. SwiftyJSON
  3. FirebaseStorage
  4. SDWebImage

我的问题是,在我的情况下,这是否是处理图片上传的好方法。它有点慢,但我不知道这是因为我正在为我的 API 使用 Heroku 的免费网络托管服务,还是因为我上传和检索图像的方式只是过于复杂,可以简化。

如果您使用高分辨率(11 兆像素)的相机拍摄图像并且您的唯一用途是在 phone / iPad 上显示所述图像(即不打印它们出到广告牌上),然后在将图像发送到 Firebase 之前调整图像大小并使用小得多的图像,这将显着提高性能。

您的延迟可能是由于您的文件大小。

如果您需要大文件,请实施缓存!