Alamofire发送带有键和多个值的参数数组

时间:2019-09-18 04:59:41

标签: swift alamofire

我需要在我的项目中这样做:

参数的多个数组公用键中的多个值 enter image description here

有些链接有相同的问题,但没有确切的答案,我总是看到具有答案的帖子,例如使用自定义编码。仅此而已。

https://github.com/Alamofire/Alamofire/issues/570

我有4个数组:

var imagesArray: [UIImage] = [], var DayOpreation: [String] = [],varDayOffStart: [String] = [], var DayOffEnd: [String] = []

这是我的代码:

let parameters : Parameters = [
        "about": self.descriptionLabel.text!,
        "address" : addressLabel.text!,
        "country" : "1",
        "state": "1",
        "city" : "1",
        "postcode" : self.postalCode.text!,
        "policies": self.policiesLabel.text,
        "longitude" : "",
        "latitude" : "",
        "available_24hours": "0",
        "open_hour" : "09:00",
        "closed_hour" : "18:00",
        "operating_days[0]": "Senin",
        "days_off[0][start]" : "2019-10-10",
        "days_off[0][end]" : "2019-10-15",
    ]
    let token = UserDefaults.standard.string(forKey: UserDefaultConstant.ACCESS_TOKEN)
    let headers = ["key": "\(token!)"
    ]

    let ImageData = UIImageView()
    ImageData.image = UIImage(named: "rectangle-1")
    let imgData = UIImagePNGRepresentation(ImageData.image!)!
    Alamofire.upload(multipartFormData: { multipartFormData in
        multipartFormData.append(imgData, withName: "photo_profile[0]",fileName: "file.jpg", mimeType: "image/jpg")
        for (key, value) in parameters {
            multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
        }
    },
                     to:"\(Endpoints.BASE)\(Endpoints.UPDATE_VENDOR)",
        method: .post,
        headers: headers,
        encodingCompletion: { encodingResult in
            switch encodingResult {
            case .success(let upload, _, _):
                upload.responseJSON { response in
                    if let data = response.data {
                        guard let json = try? JSON(data: data) else { return }
                        let messageRoom = json["message"].string
                        print("listOfficialRoom== ",json)

                    }
                }
            case .failure(let encodingError):
                print(encodingError)
            }
    })

1 个答案:

答案 0 :(得分:0)

在Alamofire中使用Paramaters,就像这样

latest_receipt_info