在Alamofire.upload swift 3中没有更多上下文的表达类型是模糊的

前端之家收集整理的这篇文章主要介绍了在Alamofire.upload swift 3中没有更多上下文的表达类型是模糊的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新的Alamofire 4.0.0没有提到如何使用Httpmethod&使用multipartFormData上传的Httpheaders.这就是我google并在stackoverflow问题中找到解决方案的原因.但问题是我做了同样的回答然后得到以下错误消息和建设失败.请帮我解决一下.

Type of expression is ambiguous without more context

这是我的编码:

let URL = try! URLRequest(url: Config.imageUploadURL,method: .post,headers: headers)

Alamofire.upload(
    multipartFormData: { multipartFormData in
        multipartFormData.append(self.imageData,withName: "image",fileName: "file.png",mimeType: "image/png")
    },to: URL,encodingCompletion: { encodingResult in
        switch encodingResult {
        case .success(let upload,_,_):
            upload.responseJSON { response in
                if((response.result.value) != nil) {

                } else {

                }
            }
        case .failure( _):

        }
    }
)
Alamofire.upload(multipartFormData:to:encodingCompletion :)对于to:参数采用URLConvertible.相反,你应该使用Alamofire.upload(multipartFormData:with:encodingCompletion :),它带有一个URLRequestConvertible,带有:参数.

我认为URL的参数名称与URL()类型相同有助于创建奇怪的编译器错误.

以下编译对我来说:

let url = try! URLRequest(url: URL(string:"www.google.com")!,headers: nil)

Alamofire.upload(
    multipartFormData: { multipartFormData in
        multipartFormData.append(Data(),with: url,_):
            upload.responseJSON { response in
                if((response.result.value) != nil) {

                } else {

                }
            }
        case .failure( _):
            break
        }
    }
)

猜你在找的Swift相关文章