Предположим, что вы хотите загрузить изображение с ключом, названным userImage
, тогда вы можете использовать многочастную функцию Alamofire
.Я использовал SwiftyJSON
здесь.Вы можете изменить в соответствии с вашими требованиями.
var parameters: [String:Any]?
//fill your parameters with data. Image is stored as Data and other values are string in this case.
Alamofire.upload(multipartFormData: { (multipartFormData:MultipartFormData) in
for (key, value) in parameters! {
if key == "userImage" {
multipartFormData.append(
value as! Data,
withName: key,
fileName: "profileImage.jpg",
mimeType: "image/jpg"
)
} else {
//multipartFormData
multipartFormData.append((value as! String).data(using: .utf8)!, withName: key)
}
}
}, usingThreshold: 1, to: "yourServiceURL", method: .post, headers: ["yourHeaderkey":"value"]) { (encodingResult:SessionManager.MultipartFormDataEncodingResult) in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
if response.result.error != nil {
return
}
if let data = response.result.value {
let json = JSON(data)
}
}
break
case .failure(let encodingError):
debugPrint(encodingError)
break
}
}