MrE*_*yes 18
该UploadFile方法返回一个byte[]包含远程服务器返回的响应的方法.根据服务器如何管理对上传请求的响应(以及错误条件(参见下面的注释1)),您需要检查该响应.您可以通过将其转换为字符串来获取字符串响应,例如,这会将响应写入控制台窗口:
byte[] rawResponse = webClient.UploadFile(url,fileName);
Console.WriteLine("Remote Response: {0}", System.Text.Encoding.ASCII.GetString(rawResponse));
Run Code Online (Sandbox Code Playgroud)
也就是说,如果远程服务器返回除HTTP 200(即成功)以外的任何内容,则对UploadFile的调用将抛出WebException.这样您就可以以最适合您应用的方式捕获并处理它.
所以把它们放在一起
try
{
WebClient webClient = new WebClient();
byte[] rawResponse = webClient.UploadFile(url,fileName);
string response = System.Text.Encoding.ASCII.GetString(rawResponse);
...
Your response validation code
...
}
catch (WebException wexc)
{
...
Handle Web Exception
...
}
Run Code Online (Sandbox Code Playgroud)
注1作为一个例子,我有一个文件上传服务,它永远不会发出除HTTP 200代码之外的任何内容,所有错误都会在服务中被捕获,并且这些错误被"解析"为返回给调用者的XML结构.然后,调用者解析该XML以验证上载是否成功.
| 归档时间: |
|
| 查看次数: |
13432 次 |
| 最近记录: |