none
Hacer POST de mi objeto con imagen usando Web API RRS feed

  • Pregunta

  • Hola, lo que necesito es hacer post a mi servidor que tiene ya la API creada y desarrollada en web api, lo que quiero persistir es un objeto de la siguiente forma:

    public class CuentaUsuario
        {
            public string Pk_CuentaUsuario { get; set; }
            public string Nombres { get; set; }
            public string Apellidos { get; set; }
            public string Direccion { get; set; }
            public string Contraseña { get; set; }
            public string Sexo { get; set; }
            public string FechaNacim { get; set; }
            public byte[] Foto { get; set; }
            public string CuentasVinculadas { get; set; }
            public byte[] QRCode { get; set; }
        }

    pero no encuentro lo forma de hacerlo, tengo el siguiente codigo:

    using (HttpClient client = new HttpClient())
                    {
                        HttpContent content = new  StringContent(JsonConvert.SerializeObject(addCuenta));
                        content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                        var result = await client.PostAsync("http://misitioweb/CuentaUsuario/PostCuentaUsuario", content);

                        result.EnsureSuccessStatusCode();
                    }

    pero no me funciona, si alguien sabe como puedo hacer para guardar un objeto de ese tipo a mi BD en mi servidor, se lo agradeceria. Gracias.

    domingo, 28 de diciembre de 2014 3:05

Respuestas

  • oh Gracias por responder, resulta que ayer estuve checando otra cosa con el servidor y resulta que lo que estaba mal fue mi cadena de conexion y no podia obtener los datos, y si todo lo demas esta bien. asi que solo compuse la cadena de conexion y listo, pude hacer post sin problemas y con imagenes XD 

    Saludos.

    domingo, 28 de diciembre de 2014 15:53

Todas las respuestas

  • El código tal como lo has puesto parece bastante correcto, es decir, en principio debe serializar el objeto y hacer el POST al servidor. Puedes confirmarlo utilizando alguna captura de paquetes en el lado del servidor (por ejemplo, con el WireShark) y comprobando que efectivamente le llega el JSON seerializado tal como se esperaba.

    A partir de ahí, si no funciona, debe de ser un problema de la implementación de la API en el lado servidor, que posiblemente no esté deserializando como es debido el paquete que le envía la aplicación cliente. Utiliza un debugger sobre el código servidor y sigue la ejecución paso a paso examinando las variables y verificando qué es lo que se recibe y cómo se deserializa y se procesa, hasta que encuentres la parte exacta que está fallando.

    • Propuesto como respuesta webJose domingo, 28 de diciembre de 2014 19:54
    domingo, 28 de diciembre de 2014 8:19
  • oh Gracias por responder, resulta que ayer estuve checando otra cosa con el servidor y resulta que lo que estaba mal fue mi cadena de conexion y no podia obtener los datos, y si todo lo demas esta bien. asi que solo compuse la cadena de conexion y listo, pude hacer post sin problemas y con imagenes XD 

    Saludos.

    domingo, 28 de diciembre de 2014 15:53