【发布时间】:2018-07-03 20:29:59
【问题描述】:
我目前正在制作一个需要图片上传功能的 iOS 应用。我正在使用 Firebase 进行图像存储,并且我正在使用我为其他所有内容(例如身份验证、用户帐户等)构建的 ruby on rails API。图像上传此时在应用程序中工作,但是,它有点慢(这令人震惊,因为我是唯一一个使用它的人。这不像是有一堆 HTTP 请求一次发送到 API 或 firebase,只是我在测试它)。这就是我目前处理上传的方式:
- 用户选择要上传的照片。
- 照片被转换为 png 字符串表示并被发送到 firebase 存储
- 从 firebase 获取照片的下载 URL
- 然后将该 URL 发送到 API 并分配给该特定用户的
profile_image属性。
这就完成了。所以,当用户想要看到那张照片时:
- 向 API 发出获取请求,该 API 会响应用户的所有可共享属性(例如用户名等),以及该图像的 URL。
- 然后应用“下载”该图像并将其放入 UIImageView 中。
我用来实现这一点的一些可可豆荚:
- 阿拉莫菲尔
- SwiftyJSON
- Firebase 存储
- SDWebImage
我的问题是,在我的情况下,这是否是处理图片上传的好方法。它有点慢,但我不知道这是因为我正在为我的 API 使用 Heroku 的免费网络托管服务,还是因为我上传图像和检索它们的方式过于复杂并且可以简化。
【问题讨论】:
-
您阅读过 ActiveStorage 文档吗? edgeguides.rubyonrails.org/active_storage_overview.html
-
嘿,谢谢,这看起来很有希望!
-
有点慢是非常主观的,可能是由编码问题、文件大小、互联网速度和许多其他因素引起的。如果使用 FirebaseStorage 很慢,则很可能使用其他平台更慢(Firebase 非常快)。我认为您最好的选择是根据图像大小和互联网速度与花费的时间(大致)计算应该花费多长时间。
标签: ios ruby-on-rails swift firebase photos