【发布时间】:2018-08-09 12:36:02
【问题描述】:
我似乎在使用 Alamofire 上传图片和传递参数时遇到问题。我有一个非常简单的多部分数据函数,如下所示:
sessionManager.upload(multipartFormData: { (multipartFormData) in
for (key, value) in parameters {
print("\(value)")
multipartFormData.append("\(value)".data(using: String.Encoding.utf8)!, withName: key as String)
}
multipartFormData.append(UIImagePNGRepresentation(image)!, withName: "document", mimeType: "image/png")
}, to: baseURL + "/documents", encodingCompletion: { (result) in
switch result{
case .success(let upload, _, _):
upload.validate().responseJSON { response in
print("Succesfully uploaded")
}
case .failure(let error):
print("Error in upload: \(error.localizedDescription)")
}
})
我已经为标头和授权实现了 OAuth2Handler,它适用于所有其他请求。我也尝试过直接使用 Alamofire 对象在没有包装器的情况下实现这一点,但仍然没有运气。当我检查请求时,我注意到 httpBody 始终为零,这对应于我从服务器收到的错误,并且消息说我没有传递必需的参数。
【问题讨论】: