[英]Alamofire: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)
I am trying to upload data through alamofire including images. 我正在尝试通过alamofire上传数据,包括图片。 But it returns 但它返回
responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength) responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)
-- and my code is , -我的代码是
Alamofire.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append((userid?.data(using: String.Encoding.utf8))!, withName: "user_id")
multipartFormData.append((self.addUserBtnTag?.description.data(using: String.Encoding.utf8))!, withName: "slot")
}, to: urlString, method: .post, encodingCompletion: { (result) in
switch result {
case .success(let upload, _, _):
upload.responseJSON { response in
print(response.result)
print("Response : ", response)
if response.result.isSuccess
{
let JSON = response.result.value as? NSDictionary
print("EditJSON : ", JSON!)
}
}
case .failure(let encodingError):
print(encodingError)
}
})
But actually I am passing more than ten parameters through alamofire. 但是实际上我通过alamofire传递了十多个参数。
Just change from responseJSON
to responseString
只需从responseJSON
更改为responseString
Alamofire.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append((userid?.data(using: String.Encoding.utf8))!, withName: "user_id")
multipartFormData.append((self.addUserBtnTag?.description.data(using: String.Encoding.utf8))!, withName: "slot")
}, to: urlString, method: .post, encodingCompletion: { (result) in
switch result {
case .success(let upload, _, _):
upload.responseString { response in
print(response.result)
print("Response : ", response)
if response.result.isSuccess
{
let JSON = response.result.value as? NSDictionary
print("EditJSON : ", JSON!)
}
}
case .failure(let encodingError):
print(encodingError)
}
})
Try this for uploading image with parameter with alamofire 尝试使用alamofire参数上传图片
Alamofire.upload(multipartFormData: { (multipartFormData) in
let imageData: NSData? = UIImageJPEGRepresentation(image, 0.5) as NSData?
if imageData != nil {
multipartFormData.append(imageData! as Data, withName: strImageKey, fileName: "imagep.jpeg", mimeType: "imagep/jpeg")
for (key, value) in dictParams {
let data = "\(value)".data(using: .utf8)
multipartFormData.append(data! as Data, withName: key)
}
}
}, with: requestName,encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
log.debug("Image(s) Uploaded successfully:\(response)")
//Networking.handleApiResponse(response)
}
case .failure(let encodingError):
log.debug("encodingError:\(encodingError)")
// Networking.handleApiResponse(response)
Util.showAlertWithMessage(msgSorry, title:"Error")
}
completionHandler!(encodingResult)
}
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.