Swift 如何使用alamofire';s多部分表单数据

Swift 如何使用alamofire';s多部分表单数据,swift,multidimensional-array,alamofire,multipartform-data,Swift,Multidimensional Array,Alamofire,Multipartform Data,如何将此参数发送到多部分 let dictionary = [ "user" : [ "email" : "\(email!)", "token" : "\(loginToken!)" ], "photo_data" :[ "name" : "Toko Tokoan1", "avatar_photo" :

如何将此参数发送到多部分

    let dictionary = [
        "user" :
            [
                "email" : "\(email!)",
                "token" : "\(loginToken!)"
        ],
        "photo_data" :[
            "name" : "Toko Tokoan1",
            "avatar_photo" : photo,
            "background_photo" : photo,
            "phone" : "0222222222",
            "addresses" :[[
                "address" : "Jalan Kita",
                "provinceid" : 13,
                "cityid" : 185,
                "postal" : "45512"
                ]],
            "banks" :[[
                "bank_name" : "PT Bank BCA",
                "account_number" : "292993122",
                "account_name" : "Tukiyeum"
                ]]

        ]

    ]
我尝试了下面的代码,但无法将值(在NSDic中)编码为UTF8


无法使用附加正文部分中的
值,因为它不是字符串。如何正确地将该参数放入multipartformdata中?

允许嵌套多部分

明确允许在另一个多部分实体的主体部分中使用多部分的内容类型。在这种情况下,出于明显的原因,必须注意确保每个嵌套的多部分实体必须使用不同的边界分隔符

因此,您必须执行与外部循环相同的操作:简单地循环字典的内容,生成键值对。显然,您必须设置不同的零件分隔符,以便客户机能够区分嵌套零件更改和顶级零件更改


可能更容易将整个结构作为application/json发送。

可能更容易将整个结构作为application/json发送。
是。
        for (key, value) in current_user {
            if key == "avatar_photo" || key == "background_photo"{
            multipartFormData.appendBodyPart(fileURL: value.data(using: String.Encoding.utf8)!, name: key) // value error because its NSDic
            }else{
             multipartFormData.appendBodyPart(data: value.data(using: String.Encoding.utf8)!, name: value) // value error because its NSDic
            }

        }