電話で Csv ファイルを作成し (このコンテンツとパスを持っています)、この csv を投稿するための URL...
string path = csv.path;
string content = csv.content;
string urlPost = csv.urlPost;
Windows phone の HttpWebRequest を使用してファイル (1 つの csv ファイルのみ) を投稿したいのですが、C# で HttpWebRequest の投稿をたくさん見ましたが、Windows Phone に固有のものではありません (Windows phone の HttpWebRequest には「通常の」メソッドがすべてありません"HttpWebRequest) .
私はすでに msdn ページ => http://msdn.microsoft.com/en-us/library/debx8sh9.aspx と c# の HttpWebRequest のこの投稿を見ましたHTTPWebrequest (multipart/form-data) でファイルをアップロードしますが、私はしませんWindows phone の例を翻訳するために到着しました。
私は(私のURLで)私のサーバーに電話をかけましたが、ファイルは決して送信されません...
また、RestSharp ライブラリを使用したくありません。
私の実際のコード=>
public void SentPostReport()
{
Uri uri = new Uri(csv.urlPost); //Url is string url
string boundary = "----------------------------" + DateTime.Now.Ticks.ToString("x");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.ContentType = "multipart/form-data; boundary=" + boundary;
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);
// My File content and path.
string pathReportFile = csv.path;
string CsvContent = csv.content;
// Transmitted The File ????
postStream.Close();
// Start the asynchronous operation to get the response
request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
}
private static void GetResponseCallback(IAsyncResult asynchronousResult)
{
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();
//DEBUG => affiche le résultat de la requête.
Debug.WriteLine(responseString);
// Close the stream object
streamResponse.Close();
streamRead.Close();
// Release the HttpWebResponse
response.Close();
}
GetRequestStreamCallback の関数内のコードを削除し、「//送信ファイル ?」に置き換えました。
ファイルを送信する必要がある場所だと思いますが、これを送信するための解決策が見つかりません。
私はこのコードでテストしています:
byte[] byteArray = Encoding.UTF8.GetBytes(CsvContent);
postStream.Write(byteArray, 0, byteArray.Length);
その他は別のフォーラムで見つかりました。私は毎回、サーバーとの呼び出しは良好ですが、ファイルが送信されません...
サーバーでファイルを送信するために HttpWebRequest と Stream を使用するためのソリューションはありますか? 前もって:ありがとう!!