Я пытаюсь загрузить несколько изображений. Эта функция позволяет мне загружать только одно изображение, если я добавлю еще одно, на консоли отображается эта ошибка: AILURE: responseSerializationFailed (причина: Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength) Я пробовал все, но похоже, ничего не работает. Мой код:
static func register(completion: @escaping SuccessCompletionHandler)
{
let parameters: [String: Any] =
[
"firstName": NewUser.parameters.firstName,
"lastName": NewUser.parameters.lastName ,
"email": NewUser.parameters.email,
"car_type": NewUser.parameters.carType,
"userPhone": NewUser.parameters.phoneNumber
]
Alamofire.upload(multipartFormData: { multipartFormData in
parameters.forEach { (key, value) in
let stringValue = "\(value)"
multipartFormData.append(stringValue.data(using: String.Encoding.utf8) ?? Data(), withName: key)
}
if let identity1 = NewUser.parameters.identity1
{
multipartFormData.append(identity1, withName: "identity1", fileName: "identity1.jpeg", mimeType: "image/jpeg")
}
if let identity2 = NewUser.parameters.identity2
{
multipartFormData.append(identity2, withName: "identity2", fileName: "identity2.jpeg", mimeType: "image/jpeg")
}
if let car1 = NewUser.parameters.car1
{
multipartFormData.append(car1, withName: "car1", fileName: "car1.jpeg", mimeType: "image/jpeg")
}
if let car2 = NewUser.parameters.car2
{
multipartFormData.append(car2, withName: "car2", fileName: "car2.jpeg", mimeType: "image/jpeg")
}
if let car3 = NewUser.parameters.car3
{
multipartFormData.append(car3, withName: "car3", fileName: "car3.jpeg", mimeType: "image/jpeg")
}
if let licence1 = NewUser.parameters.licence1
{
multipartFormData.append(licence1, withName: "licence1", fileName: "licence1.jpeg", mimeType: "image/jpeg")
}
if let licence2 = NewUser.parameters.licence2
{
multipartFormData.append(licence2, withName: "licence2", fileName: "licence2.jpeg", mimeType: "image/jpeg")
}
}, to: BASE_URL+"driver/auth/register", method: .post, encodingCompletion: { result in
showCustomLoader(message: "Registering".localizedString)
switch result
{
case .success(let request, _, _):
request.responseJSON(completionHandler: { (response) in
print(response)
print(response.result)
hideCustomLoader()
guard let userData = response.data else
{
GRP.showToast(failure: true, message: "RegistrationFailed".localizedString)
completion(false)
return
}
guard
let newUserContainer = try? JSONDecoder().decode(SuccessfulResponseModel<[AuthModel]>.self, from: userData),
let authenticatedUserArray = newUserContainer.response, !authenticatedUserArray.isEmpty,
let authenticatedUser = authenticatedUserArray.first,
let success = newUserContainer.success, success == true
else
{
guard
let errorResponse = try? JSONDecoder().decode(ErrorModel.self, from: userData),
let errorMesssage = errorResponse.message else
{
GRP.showToast(failure: true, message: "RegistrationFailed".localizedString)
completion(false)
return
}
GRP.showToast(failure: true, message: errorMesssage)
return
}
self.authenticatedUser = authenticatedUser
GRP.showToast(message: "RegistrationSucceeded".localizedString)
completion(true)
})
case .failure:
hideCustomLoader()
GRP.showToast(failure: true, message: "RegistrationFailed".localizedString)
completion(false)
break
}
})
}