更新的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( _):
}
}
)发布于 2016-10-30 05:51:04
Alamofire.upload(multipartFormData:to:encodingCompletion:)以URLConvertible作为to:参数。相反,您应该使用Alamofire.upload(multipartFormData:with:encodingCompletion:),它以URLRequestConvertible作为其with:参数。
我认为您的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
}
}
)发布于 2017-05-21 22:08:53
对我来说,构建错误是由multipartFormData.appendBodyData()引起的。用multipartFormData.append()代替后,问题得到了解决。
发布于 2017-08-16 12:06:50
我也犯了同样的错误,在花了很多时间之后,我发现问题是:
我是在传递MutableURLRequest而不是传递URLRequest对象。这就是为什么我会犯这个错误。在将其类型转换为URLRequest之后,它就开始工作了。
https://stackoverflow.com/questions/40326210
复制相似问题