es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La carga de imágenes multiparte no funciona en swift con alamofire.

La carga de imagen junto con los parámetros no está funcionando con el siguiente código que he intentado.

let testImage = UIImage(named: "sayHi")

let headers: HTTPHeaders = [
    "Content-type": "multipart/form-data",
    "Content-lenth" : "\(testImage?.pngData()?.count ?? 0)",
    "Accept": "application/json",
]

AF.upload(
    multipartFormData: { multipartFormData in

        multipartFormData.append("10".data(using: .utf8)!, withName: "pickerId")
        multipartFormData.append("100".data(using: .utf8)!, withName: "walkerRfid")
        multipartFormData.append(testImage!.pngData()!, withName: "photo" , fileName: "file.png", mimeType: "image/png")
    },
    to: "https://zb9.amazonaws.com/data/savePickerData", method: .post , headers: headers)
    .validate(statusCode: 200..<300)
    .response { resp in
        switch resp.result{
        case .failure(let error):
            print(error)
        case.success( _):
            print("🥶🥶Respuesta después de cargar la imagen: \(resp.result)")
        }
    }  

Respuesta:

 responseValidationFailed(reason: Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(code: 502))
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El código parece estar bien para cargar una imagen junto con parámetros. Sin embargo, el mensaje de error indica que el código de estado de respuesta no está dentro del rango aceptable de 200 a 299. Muestra un código de estado de 502, que generalmente indica un error de puerta de enlace incorrecta.

    Podría haber múltiples razones para este error, como la indisponibilidad del servidor o un punto final de API incorrecto. Se recomienda verificar la documentación de la API para obtener el punto final correcto y asegurarse de que el servidor esté funcionando correctamente.

Comments are closed.