【问题标题】:Alamofire 2.0 Multipart Form Data ErrorAlamofire 2.0 多部分表单数据错误
【发布时间】:2015-09-24 15:41:39
【问题描述】:

此代码在迁移到 Swift 2.0 和 Alamofire 2.0 之前工作

manager.upload(requestMethod, NSURL(string: url)!, multipartFormData: { multipartFormData in
            for param in params {
                multipartFormData.appendBodyPart(data: param.1.dataUsingEncoding(NSUTF8StringEncoding)!, name: param.0)
            }

            multipartFormData.appendBodyPart(data: imageData!, name: "file", fileName: "tempImage", mimeType: "image/*") },
            encodingCompletion: { encodingResult in
                switch encodingResult {
                case .Success(let upload, _, _):
                    upload.responseJSON { _, response, result in
                        switch result {
                        case .Success(let data):
                            ...
                        case .Failure(let encodingError):
                            ...
                        }
                    }
                case .Failure(let encodingError):
                    ...
                }
        } )

现在该行:

upload.responseJson...

总是返回失败 "FAILURE: Error Domain=NSURLErrorDomain Code=-999 "cancelled" "

有人成功地在 Alamofire 2.0 中使用了 multipart 并且知道我做错了什么吗?

【问题讨论】:

  • 你检查过网址吗?
  • 谢谢@beretis,我已经解决了这是标题的问题。
  • 面临同样的问题。你能发布答案吗?
  • 嗨@RahulKatariya,检查我的答案。放入 cmets 很长

标签: swift2 alamofire


【解决方案1】:

在我的情况下,它与额外的标题有关。我把一般的标题是这样的:

var defaultHeaders = Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders ?? [:]
    defaultHeaders["User-Agent"] = userAgent

    if let ip = ifAddress {
        defaultHeaders["X-Forwarded-For"] = ip
    }

    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
    configuration.HTTPAdditionalHeaders = defaultHeaders
    manager = Alamofire.Manager(configuration: configuration)

对于取决于特定条件的附加标头,我在请求本身中放入:

if condition {
    headers = ["Accept": contentType]
}

manager!.request(requestMethod, url, parameters: params, headers: headers).responseJSON { response in
…

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多