使用 alamofire 发布 form_data 数据不起作用
Posted
技术标签:
【中文标题】使用 alamofire 发布 form_data 数据不起作用【英文标题】:post form_data data with alamofire not work 【发布时间】:2018-10-19 06:50:20 【问题描述】:我想从我的应用程序发送数据和图像 但不使用此代码发送
let parameters: [String: AnyObject] = [
"latitude" : lat as AnyObject,
"longitude" : lng as AnyObject,
"lokasi" : txtAlamat.text as AnyObject,
"keterangan" : txtKeterangan.text as AnyObject,
"jenis_absen" : absenIndex as AnyObject
]
let requestUrl = "https://link.co/link_me"
Alamofire.request(requestUrl, method: .post, parameters: parameters, encoding: JSONEncoding.default).authenticate(user: username!, password: password!).responseJSON response in
print(response)
if let error = response.error
self.hideLoading()
_ = SweetAlert().showAlert("Warning", subTitle:error.localizedDescription, style: AlertStyle.error, buttonTitle:"Dismiss")
return
debugPrint(response.result.value!)
let parsedResult = JSON(response.result.value!)
在邮递员成功使用 form_data 发送数据
我想添加图片,但我不知道怎么做
这个打印(参数)
【问题讨论】:
你传递的是什么标题,如果它已经AnyObject
,你不需要强制转换你的变量,或者使用Any
。
在我通过授权的标题中。
我的错误是什么?
请在您的申请中发布您收到的回复。
要传递图像,您需要将它们作为数据传递。你可以参考这个链接来获得一个想法 - ***.com/questions/37832092/…
【参考方案1】:
如果您想要发送参数和数据(例如图像),您必须使用上传请求(Alamofire.upload(...)),而不是常规请求.
上传请求使用 NSData(字节)来填充请求正文,因此您必须序列化 multipartFormData 正文中的参数和图像。
我希望这对您有所帮助,以澄清这里的问题。
【讨论】:
【参考方案2】:尝试跟随,您发布的数据是可选的,因此请打开您的数据。
let parameters: [String: AnyObject] = [
"latitude" : lat as! AnyObject,
"longitude" : lng as! AnyObject,
"lokasi" : (txtAlamat.text)! as! AnyObject,
"keterangan" : (txtKeterangan.text)! as! AnyObject,
"jenis_absen" : absenIndex as! AnyObject
]
【讨论】:
授权成功,但数据仍未发送到链接, 可以在 requestUrl 初始化之前打印(参数)给我看吗? api 您使用 SSL 证书请求 ia 您是否实施了 ssl 验证?在你身边我是指移动端? 我已经更新了我的问题并添加了打印参数照片 为什么你的帖子数据在结束方括号之前有一个逗号?以上是关于使用 alamofire 发布 form_data 数据不起作用的主要内容,如果未能解决你的问题,请参考以下文章
值:(failure(Alamofire.AFError.explicitlyCancelled)) 使用 Alamofire 发布者时