0

Windows Phone で「csv ファイル」を作成しました。それをサーバーや Web に投稿したいのですが、どのように進めたらよいかわかりません。

パラメータを使用して「投稿リクエスト」を行うだけではなく、ファイルをサーバーに投稿したい...

実際、このサーバーに接続していますが、ファイルが見つかりません...

public void SentPostReport()
    {


        //Post response.
        string url = this.CurentReportkPI.configXml.gw; // string url 
        Uri uri = new Uri(url);

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.Accept = "application/CSV";
        request.Method = "POST";
        request.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), request);
    }

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

        // End the operation
        Stream postStream = request.EndGetRequestStream(asynchronousResult);

        // I create My csv File 
        CreateCsv reportCsv = new CreateCsv();
        string pathReportFile = reportCsv.CreateNewReport(this.report);
        string CsvContent = reportCsv.ReadFile(pathReportFile);

        // Convert the string into a byte array.
        byte[] byteArray = Encoding.UTF8.GetBytes(CsvContent);

        // Write to the request stream.
        postStream.Write(byteArray, 0, byteArray.Length);
        postStream.Close();

        // Start the asynchronous operation to get the response
        request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
    }


    private static void GetResponseCallback(IAsyncResult asynchronousResult)
    {
        Debug.WriteLine("GetResponseCallback");
        HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;

        // End the operation
        HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
        Stream streamResponse = response.GetResponseStream();
        StreamReader streamRead = new StreamReader(streamResponse);
        string responseString = streamRead.ReadLine();
        // Close the stream object
        streamResponse.Close();
        streamRead.Close();

        // Release the HttpWebResponse
        response.Close();
    }

問題の解決に進み、リクエストとともに CSV ファイルを送信する時期についてご意見はありますか?

ありがとう。

4

2 に答える 2

0

これは、RestSharp または Hammock と AddFile メソッドを使用して簡単に行うことができます。Hammock を使用して写真をアップロードするために私が行ったことの例を次に示します。

var request = new RestRequest("photo", WebMethod.Post);
request.AddParameter("photo_album_id", _album.album_id);
request.AddFile("photo", filename, e.ChosenPhoto);
request.Client.BeginRequest(request, (restRequest, restResponse, userState) =>
    { 
        // handle response 
    }
于 2012-04-12T16:38:57.067 に答える