Метод UploadFile
возвращает byte[]
, который содержит ответ, возвращенный удаленным сервером.В зависимости от того, как сервер управляет ответами на запросы на загрузку (и условиями ошибок (см. Примечание 1 ниже)), вам необходимо проверить этот ответ.Вы можете получить строковый ответ, преобразовав его в строку, например, это запишет ответ в окно консоли:
byte[] rawResponse = webClient.UploadFile(url,fileName);
Console.WriteLine("Remote Response: {0}", System.Text.Encoding.ASCII.GetString(rawResponse));
Это говорит о том, что если удаленный сервер возвращает что-либо кроме 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
...
}
Примечание 1 В качестве примера у меня есть файлСлужба загрузки, которая никогда не выдаст ничего, кроме кода HTTP 200, все ошибки обнаруживаются внутри службы, и они «анализируются» в структуре XML, которая возвращается вызывающей стороне.Затем вызывающая сторона анализирует этот XML для проверки успешности загрузки.