【问题标题】:Multipart data Alamofire with JSON parameters带有 JSON 参数的多部分数据 Alamofire
【发布时间】: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)
                }
      }
}

提前感谢您的帮助?????????

【问题讨论】:

    标签: ios json swift alamofire


    【解决方案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]") ?
    • 对我不起作用。奇怪的。可能是服务器端出了点问题。
    猜你喜欢
    • 2017-09-21
    • 2023-03-23
    • 1970-01-01
    • 2015-08-04
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多