Swift 表达式类型不明确,Alamofire.3中没有更多上下文

Swift 表达式类型不明确,Alamofire.3中没有更多上下文,swift,swift3,alamofire,xcode8,Swift,Swift3,Alamofire,Xcode8,更新的Alamofire 4.0.0没有提到如何将Httpmethod和Httpheaders与multipartFormData一起上传。这就是为什么我在谷歌上搜索并找到了解决这个问题的方法。但问题是,我做了与那个答案相同的事情,然后得到了以下错误消息,构建失败。请帮我解决这个问题 表达式类型不明确,没有更多上下文 这是我的代码: let URL = try! URLRequest(url: Config.imageUploadURL, method: .post, headers: head

更新的Alamofire 4.0.0没有提到如何将Httpmethod和Httpheaders与multipartFormData一起上传。这就是为什么我在谷歌上搜索并找到了解决这个问题的方法。但问题是,我做了与那个答案相同的事情,然后得到了以下错误消息,构建失败。请帮我解决这个问题

表达式类型不明确,没有更多上下文

这是我的代码:

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:
参数获取一个
urlcoverable
。相反,您应该使用
Alamofire.upload(multipartFormData:with:encodingCompletion:)
,它的
with:
参数采用
URLRequestConvertible

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

以下内容为我编写:

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

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

                } else {

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

对我来说,生成错误是由
multipartFormData.appendBodyData()
引起的。用
multipartFormData.append()替换后,问题解决了。

我也遇到了同样的错误,花了很多时间后,我发现问题是:


我传递的是
MutableURLRequest
,而不是
URLRequest
对象。这就是为什么我会犯这个错误。在将其输入到
URLRequest
后,它就开始工作了。

太好了,我错过了将
一起使用的机会。谢谢。let parameters:parameters=[“user\u id”:user\u id,“section\u id”:section\u id,“day”:day,“userpost”:video]以及Urlrequest如何传递这些参数,谢谢我不能直接传递int作为int类型的int。请帮助我。您好,什么是Config.imageUploadURL?“你们如何使阿拉莫菲尔4中的urlRequestConvertible?”萨姆读了下面的答案,我将其标记为正确答案。如果还不清楚,问一个问题,我会为你回答。