1

みんな。私は c# 言語でプログラミングしていますが、WebClient クラスに問題があります。メソッド WebClient.DownloadData を使用して画像をダウンロードしましたが、正常に機能しました。しかし、WebClient.UploadData はそうではありませんでした。詳細には、byte[] には、bytes という名前の画像のコンテンツと、filePath という名前のアップロード先の画像フォルダーの URL が含まれています。それから、

 WebClient wc = new WebClient(); 
 byte[] responseArray = wc.UploadData(filePath, "POST", bytes);

そして、エラーに続いて私に戻ってきます

System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
   at System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
   at System.Net.WebClient.UploadData(Uri address, String method, Byte[] data)
   at System.Net.WebClient.UploadData(String address, String method, Byte[] data)

この問題の解決策もいくつか調べましたが、どれもうまくいきませんでした。:(助けてください!:-s

4

1 に答える 1

2

このページを試してください。投稿例があります。

これは、webclient ではなく webrequest を使用しますが、Microsoft からのものであり、良い例になるはずです。

WebRequest request = WebRequest.Create ("http://www.contoso.com/PostAccepter.aspx ");
request.Method = "POST";
string postData = "This is a test that posts this string to a Web server.";
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;


//Here is the Business end of the code...
Stream dataStream = request.GetRequestStream ();
dataStream.Write (byteArray, 0, byteArray.Length);
dataStream.Close ();
//and here is the response.
WebResponse response = request.GetResponse ();

Console.WriteLine (((HttpWebResponse)response).StatusDescription);
dataStream = response.GetResponseStream ();
StreamReader reader = new StreamReader (dataStream);
string responseFromServer = reader.ReadToEnd ();
Console.WriteLine (responseFromServer);
reader.Close ();
dataStream.Close ();
response.Close ();

コードをスリム化し、見たいセクションにコメントを付けました。

http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

于 2011-04-14T03:40:32.973 に答える