Проблемы с многочастной почтой - PullRequest
0 голосов
/ 12 января 2012

Я использую HttpWebRequest для Multipart Post для загрузки изображений в виде байтового массива на сервер, и я должен получить в ответ строку json, содержащую детали сообщения Но, напротив, я получаю только код ответа «ОК» в качестве ответа независимо от успеха или неудачи сообщения. Кто-нибудь может мне помочь в этом.

Я использовал следующий код для поста.

Dictionary<string, object> postParam;


public void SubmitPost()
    {

        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(new Uri(url, UriKind.Absolute));
        myRequest.Method = "POST";
        myRequest.ContentType = string.Format("multipart/form-data; boundary={0}", boundary);
        myRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), myRequest);
    }


    public string url
    {
        get
        {

            return "URL";

        }
    }



    string boundary = "----------" + DateTime.Now.Ticks.ToString();


    private void GetRequestStreamCallback(IAsyncResult asynchronousResult)
    {
        HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
        Stream postStream = request.EndGetRequestStream(asynchronousResult);


        writeMultipartObject(postStream, postParam);
        postStream.Close();

        request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);

    }
    string res;
    private void GetResponseCallback(IAsyncResult asynchronousResult)
    {
        HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
        HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);

        Stream streamResponse = response.GetResponseStream();

        StreamReader streamRead = new StreamReader(streamResponse);
        streamResponse.Close();
        streamRead.Close();

        res = response.StatusCode.ToString();

        response.Close();

    }

значение res всегда "ОК"

1 Ответ

1 голос
/ 12 января 2012

Вам нужно прочитать ответ от streamRead. StatusCode просто говорит, что данные были загружены.

...