All I do is simply like:
func postMultipart(_ url: URL, parameters: [String: Any]?, headers: [String: String]?, image: UIImage?, success: @escaping SuccessHandler, failure: @escaping ErrorHandler) {
manager.upload(multipartFormData: { multipart in
if let image = image, let data = UIImagePNGRepresentation(image) {
multipart.append(data, withName: "Passport", fileName: "picture.png", mimeType: "image/png")
}
if let parameters = parameters {
for (key, value) in parameters {
multipart.append(self.archiver.data(from: value), withName: key)
}
}
}, to: url, method: .post, headers: headers) { result in
//parse result here
}
}
And this is what I see as a result of my multipart send to serwer:
You may see that it is wrong. It should look like this:
PMSReservationID: "23".
Why it is not a string, but some archiver object?