Foros del Web » Programación para mayores de 30 ;) » .NET »

Enviar JPG desde c# a PHP

Estas en el tema de Enviar JPG desde c# a PHP en el foro de .NET en Foros del Web. Hola, estoy intentando enviar una imagen jpeg desde una aplicación C# para Windows Mobile a una web codificándola en base64 como un string y al ...
  #1 (permalink)  
Antiguo 26/06/2010, 12:02
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Enviar JPG desde c# a PHP

Hola, estoy intentando enviar una imagen jpeg desde una aplicación C# para Windows Mobile a una web codificándola en base64 como un string y al guardarla en el servidor genera el archivo pero no sale la imagen. La función de PHP sí genera una imagen porque otra aplicación similar en Java envía también la cadena en base64 y sí genera la imagen. El caso es que si la mando como Bmp sí que llega y sí que se ve, pero ocupando 100 veces más y hace muy pesado el proceso.

El código C# de la aplicación para generar la cadena es el siguiente:

Código:
private string ImgToString(Image img)
        {
            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            img.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);

            String base64String = Convert.ToBase64String(stream.ToArray());
            stream.Close();
            stream.Dispose();
            return base64String;
        }
Luego se envía la información por HttpWebRequest y método POST y llega hasta el servidor, pero al parecer la cadena generada con Base64 no está correcta, he usado tanto la función propia de C# como una creada por mi y el resultado es el mismo.

Si alguien me puede prestar un poco de ayudar se agradecería.

Última edición por alubia; 26/06/2010 a las 12:17
  #2 (permalink)  
Antiguo 27/06/2010, 04:23
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Enviar JPG desde c# a PHP

¿Nadie ha tenido un problema similar? He seguido probando de todo: guardarlo en un archivo en la PDA y luego enviar ese archivo, cambiar los formatos de la cadena, implementar otras funciones base64 y sigo igual.

La única forma de que me funcione es poner el ImageFormat en "Bmp" pero necesito trabajar con archivos en formato jpg.

Si sirve en la parte del servidor tengo este código para guardar la imagen a partir de la cadena:

Código:
$ifp = fopen( $archivo, "wb" ); //abre el archivo en forma binaria desde el inicio.
fwrite( $ifp, base64_decode( $string_img ) ); //string_img es la cadena en base64 recibida.
fclose( $ifp );
LLevo varios días con esto y no sé que más probar :S

Etiquetas: enviar, jpg, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.