¿Cómo cargar una imagen usando el método POST al servidor en wp7 usando el servicio web php?

Estoy intentando cargar un archivo de imagen mientras está seleccionado en PhotoChooser en Windows Phone 7 pero no se carga. Estoy usando el siguiente código.

     void UploadFile(string fileName, Stream data)
    {
        UriBuilder ub = new  UriBuilder("http://webservice.php?uid=" + Constants.UserId);

        WebClient webClient = new WebClient();
        webClient.Headers["Content-Type"] = "multipart/form-data; boundary=7794b1e4-2134-41a3-b8ab-ff5aff9710fd";

        webClient.OpenWriteCompleted += (sender, e) =>
        {
            System.Diagnostics.Debug.WriteLine("START");
            PushData(data, e.Result);
            System.Diagnostics.Debug.WriteLine("END");
            e.Result.Close();
            data.Close();
        };
        webClient.WriteStreamClosed += (sender, e) =>
        {
            System.Diagnostics.Debug.WriteLine("WriteStreamClosed");
        };
        webClient.OpenWriteAsync(ub.Uri);
    }

    private void PushData(Stream input, Stream output)
    {
        System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
        Byte[] bytes = encoding.GetBytes("--7794b1e4-2134-41a3-b8ab-ff5aff9710fd\r\n"
            + "Content-Disposition: form-data; name=\"uploadFile\"; filename=\"test.jpg\"\r\n"
            + "Content-Type:Image/jpeg\r\n\r\n");
        output.Write(bytes, 0, bytes.Length);
        int dd = 0;
        byte[] buffer = new byte[4096];
        int bytesRead;
        while ((bytesRead = input.Read(buffer, 0, buffer.Length)) != 0)
        {
            output.Write(buffer, 0, bytesRead);
            dd += bytesRead;

            System.Diagnostics.Debug.WriteLine("WRITE: " + dd);
        }
        bytes = encoding.GetBytes("\r\n--7794b1e4-2134-41a3-b8ab-ff5aff9710fd--\r\n");
        output.Write(bytes, 0, bytes.Length);
    }

¿Alguien puede decirme qué está mal en el código anterior?

preguntado el 09 de noviembre de 11 a las 13:11

No veo ningún problema de inmediato, pero nos vendría bien algunos detalles más. Dijiste que este POST no está cargando datos, pero ¿cuáles son los síntomas reales? ¿Obtienes una excepción? (No veo ningún bloque try-catch, si ese es el caso). Tiene algunos diagnósticos, ¿cuáles son los resultados? ¿Ha revisado el código para realizar una verificación de cordura en algunos valores clave? ¿Sabes que el webservice.php realmente está siendo llamado? (Por ejemplo, adjunte un depurador al servicio y establezca un punto de interrupción, o realice un seguimiento / registro).

Por cierto, el hecho de que el servicio esté escrito en PHP no debería influir en cómo funciona un POST. HTTP es independiente de la plataforma, el idioma y el proveedor. Estoy razonablemente seguro de que ese detalle es una pista falsa. -

no está lanzando ninguna excepción y he depurado el código, pero no puedo resolver el problema. -

bhai mara badha que y ans votan en contra kari didha chhe te ... sudharo have .. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.