带有 JSON 参数的多部分数据 Alamofire
Posted
技术标签:
【中文标题】带有 JSON 参数的多部分数据 Alamofire【英文标题】:Multipart data Alamofire with JSON parameters 【发布时间】:2016-06-13 13:10:19 【问题描述】:我正在尝试通过 multipartFormData 发送上传图片
我想发送这样的东西:
'user':
'id': 'toto',
// …
picture: // the image data
如何使用 multipartFormData 对象处理这种格式?
目前我的这段代码运行良好,但没有上面的 JSON 格式:
multipartFormData.appendBodyPart(data: dataImage, name: "picture")
if let parameters = parameters
for (key, value) in parameters
multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name :key)
提前感谢您的帮助?????????
【问题讨论】:
【参考方案1】:if let _image = image
if let imageData = UIImageJPEGRepresentation(_image, 0.5)
multipartFormData.appendBodyPart(data: imageData, name: imageName, fileName: "avatar.png", mimeType: "image/png")
if let parameters = parameters
for (key, value) in parameters
multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
但是参数需要是这样的:
let parameters:[String: AnyObject] = [
"user[id]":1
]
图片名称应为user[picture]
这对我有用
【讨论】:
感谢您的回答。我对此有几乎相同的结果。但是现在我需要将 multipartFormData 中的所有数据放在一个目录中的字段用户中。 将图像命名为:user[picture]
为我工作....和答案中的参数示例......
哇哇好!!您的意思是在附加数据中: multipartFormData.appendBodyPart(data: imageData, name: "user[picture]") ?
对我不起作用。奇怪的。可能是服务器端出了点问题。以上是关于带有 JSON 参数的多部分数据 Alamofire的主要内容,如果未能解决你的问题,请参考以下文章
AFNetworking 3.0 中带有图像和其他参数的多部分数据
使用 Retrofit 上传 JSON 格式的多部分图像数据?