Metoda UploadFile
zwraca wartość byte[]
, która zawiera odpowiedź zwróconą przez serwer zdalny. W zależności od tego, jak serwer zarządza odpowiedziami na żądania przesyłania (i warunkami błędu (patrz uwaga 1 poniżej)), musisz sprawdzić tę odpowiedź. Można uzyskać odpowiedź ciąg konwertując go do łańcucha, na przykład będzie to napisać odpowiedź w oknie konsoli:
byte[] rawResponse = webClient.UploadFile(url,fileName);
Console.WriteLine("Remote Response: {0}", System.Text.Encoding.ASCII.GetString(rawResponse));
To powiedziawszy, jeśli zdalny serwer zwraca coś innego niż HTTP 200
(tj sukcesu) połączenia do UploadFile wrzuci wyjątek WebException. To można złapać i uporać się z nim w sposób, który najlepiej pasuje do twojej aplikacji.
więc oddanie że wszyscy razem
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
...
}
Uwaga 1 Jako przykład mam usługę przesyłania plików, które nigdy nie wyda niczego innego niż kod HTTP 200, wszystkie błędy zostały złowione w ramach usługi i te są "przetwarzane" na strukturę XML, która jest zwracana do wywołującego. Osoba wywołująca następnie analizuje ten plik XML, aby sprawdzić, czy przesyłanie zakończyło się powodzeniem.
Dzięki, miłe wyjaśnienie. Przejdę przez witrynę SharePoint, więc spodziewam się znaleźć odpowiedzi na normalne serwery, więc nie muszę sprawdzać odpowiedzi. –