如何解决WebClient.UploadData和内部500错误
| 大家。我正在用C#语言编程,并且WebClient类有问题。 我使用方法WebClient.DownloadData下载了一个图像,它工作正常。但是,WebClient.UploadData没有。 详细地说,我有一个byte [],它包含图像的内容-名为bytes,以及我要上传到的图像文件夹的URL-名为filePath。然后, 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,Byte[] data)
at System.Net.WebClient.UploadData(String address,Byte[] data)
我也研究了一些解决此问题的方法,但是没有一个对我有用。 :(
请帮忙! :-s
解决方法
试试这个页面。它有一个发布示例。
它使用webrequest而不是webclient,但是它来自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,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/zh-CN/library/debx8sh9.aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。