Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift2 Alamofire 2.0多部分表单数据错误_Swift2_Alamofire - Fatal编程技术网

Swift2 Alamofire 2.0多部分表单数据错误

Swift2 Alamofire 2.0多部分表单数据错误,swift2,alamofire,Swift2,Alamofire,这段代码在迁移到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(NSUTF8

这段代码在迁移到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...
始终返回fail“FAILURE:Error Domain=nsurErrorDomain Code=-999”已取消


有人成功地使用了Alamofire 2.0中的多部分,并且知道我做错了什么?

在我的例子中,它与附加的头有关。我将一般标题放在如下位置:

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
…

在我的例子中,它与附加的标题有关。我将一般标题放在如下位置:

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
…

你查过url了吗?谢谢@beretis,我已经解决了标题的问题。面临同样的问题。你能发布答案吗?嗨@RahulKatariya,检查我的答案。很长时间没有发表评论了你检查过url吗?谢谢@beretis,我已经解决了标题的问题。面临同样的问题。你能发布答案吗?嗨@RahulKatariya,检查我的答案。很想发表评论