如何使用参数 swift 3.0 Alamofire 4.0 调用邮政服务? [英] How to call post service with parameters swift 3.0 Alamofire 4.0?
本文介绍了如何使用参数 swift 3.0 Alamofire 4.0 调用邮政服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有参数
var Param : [String:String] = [:]
我正在使用
Alamofire.upload(
multipartFormData: { multipartFormData in
但作为回应,它说invalid service
他们的参数编码出错了吗?
but in response it says invalid service
is their in parameter encoding it goes wrong ?
推荐答案
multipartFormData 用于上传图片到服务器.因此,如果您想上传图像数据,请尝试使用以下代码.
multipartFormData is used to upload images on server. So if you want to upload image data then try to use below code.
let payload: [String: AnyObject] = [
"key1": "val1" as AnyObject,
"key2": true as AnyObject,
"key3" : [1,2,3,4] as AnyObject
]
let requestString = "http://www.url.com/api/action"
Alamofire.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append(UIImageJPEGRepresentation(self.photoImageView.image!, 0.5)!, withName: "photo_path", fileName: "swift_file.jpeg", mimeType: "image/jpeg")
for (key, value) in payload {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
}, to: requestString, method: .post , headers:nil, encodingCompletion: { (result) in
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (progress) in
print(progress.fractionCompleted * 100)
})
upload.responseJSON(completionHandler: { (response) in
})
case .failure(let error):
print(error)
}
})
如果您想调用发布请求,请尝试使用以下代码:
If you want to call the post request then try to use below code:
let urlString = "https://httpbin.org/get"
Alamofire.request(urlString, method: .post, parameters: ["foo": "bar"],encoding: JSONEncoding.default, headers: nil).responseJSON {
response in
switch response.result {
case .success:
print(response)
break
case .failure(let error):
print(error)
}
}
这篇关于如何使用参数 swift 3.0 Alamofire 4.0 调用邮政服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文