【问题标题】:Alamofire: Cancel (suspend) file uploadAlamofire:取消(暂停)文件上传
【发布时间】:2016-10-05 20:01:00
【问题描述】:

我正在使用 Alamofire 上传文件:

    Alamofire.Manager.upload(
        APIManager.Router.UploadFileRoute,
        multipartFormData : { multipartFormData in
            multipartFormData.appendBodyPart(data: audioData, name: "file", fileName: "file.m4a", mimeType: "audio/m4a")
        }, encodingCompletion: { result in
            switch result {
            case .Success(let request, _, _):
              break
            case .Failure(let encodingError):
              break
            }
    })

文件上传开始后如何取消(暂停)?

documentation 建议我在 Request 对象上调用 suspend(),但我如何使用上面的文件上传 API 获取 Alamofire.Request 对象?此 API 不返回任何 Alamofire.Request 对象。

【问题讨论】:

    标签: ios alamofire


    【解决方案1】:

    原来请求只有在编码后才准备好(见内联 cmets)

    Alamofire.Manager.upload(
        APIManager.Router.UploadFileRoute,
        multipartFormData : { multipartFormData in
            multipartFormData.appendBodyPart(data: audioData, name: "file", fileName: "file.m4a", mimeType: "audio/m4a")
        }, encodingCompletion: { result in
            switch result {
            case .Success(let request, _, _):
              // Reference the request here (will get here immediately)
                 request.responseJSON { response in
                      // This closure executes only after request succeeds or fails
                 }
              break
            case .Failure(let encodingError):
              break
            }
    })
    

    【讨论】:

      猜你喜欢
      • 2018-12-02
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 2011-07-31
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多