Если вы используете Alamofire , ObjectMapper
Этот пример - отправленное изображение, строка.
func requestMultipart<T: Mappable>(
method: HTTPMethod,
_ URLString: URLConvertible,
parameters: [String: String]? = nil,
images: [String: Data],
encoding: Alamofire.ParameterEncoding = URLEncoding.default,
success: @escaping (T) -> Void,
failure: @escaping (Error) -> Void
) {
Alamofire
.SessionManager
.default
.upload(
multipartFormData: { multipartFormData in
if !images.isEmpty {
images.forEach { (data) in
multipartFormData.append(
data.value,
withName: data.key,
fileName: data.key + ".jpeg",
mimeType: "image/jpeg"
)
}
parameters?.forEach { (params) in
multipartFormData.append(
params.value.data(
using: String.Encoding.utf8,
allowLossyConversion: false
)!,
withName: params.key
)
}
},
to: URLString,
method: method,
headers: header,
encodingCompletion: { encodingResult in
// handle
}
)