【问题标题】:Save Alamofire upload with multipartFormData request Swift使用 multipartFormData 请求 Swift 保存 Alamofire 上传
【发布时间】:2019-03-04 07:05:22
【问题描述】:

我需要在我的应用中创建离线模式。

用户应该能够使用图像和文本数据创建新产品,并以在线和离线模式发送到服务器。现在它在在线模式下工作,但至于离线我需要帮助。据我了解,这是我应该做的:

  • 检查 Internet 可用性 - 完成。
  • 如果没有互联网连接 - 保存 Alamofire 请求并在有互联网时发送 - 如何?
  • 清除已成功发送的已保存请求。

我应该如何使用 multipartFormData 请求保存多个 Alamofire 上传?

我找到了这个答案 - SO Answer,但它只涵盖了没有任何文件的简单发布请求,而且我的情况有点复杂。

不胜感激代码示例或如何保存请求的任何步骤。

这是我检查 Internet 的方式:

if Reachability.isConnectedToNetwork() {
        print("Internet Connection Available!")
    } else {
        print("Internet Connection not Available!")
    }

在我的班级Reachability 我正在检查互联网连接。

非常感谢您的帮助!

【问题讨论】:

  • 你在后端使用什么?我的意思是您是否使用自己的网络服务,例如 firebase、azure 等第三方?
  • @Napster 我正在使用我自己的服务
  • 好的。如果您希望您的应用同时在离线和在线模式下工作,那么您必须在本地保存数据(核心数据、文件等),当您连接到互联网时,您将在后台将本地数据上传到您的服务器。
  • 如果你使用 google firebase 那么它会很容易,因为 firebase 提供离线功能,你不会自己做任何同步工作。但请记住,firebase 没有关系数据库,它使用文档库数据库。如果您有关系数据库,Microsoft azure 是一个不错的选择。
  • @Napster 好的,感谢您的建议。我想我现在先将这些产品保存在 Core data 中

标签: ios swift network-programming save alamofire


【解决方案1】:

要让您的应用同时在在线和离线模式下工作,有多种选择,但我会提到其中的一些。

  • 在本地保存数据(核心数据、文件等),当您连接到互联网时,您将在后台将本地数据上传到您的服务器。
  • 使用 Google Firebase。实施方面将非常容易,因为 firebase 提供离线功能,您不会自己做任何同步工作。但请记住,firebase 没有关系数据库,它使用文档库数据库。
  • 您也可以使用 Microsoft Azure。如果您有关系数据库,这是一个不错的选择。
  • 亚马逊还提供sdk用于离线数据同步

【讨论】:

    猜你喜欢
    • 2017-11-23
    • 2016-04-11
    • 1970-01-01
    • 2019-11-07
    • 2017-01-30
    • 2018-02-26
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    相关资源
    最近更新 更多