Jaki jest prosty sposób pobierania pliku ze ścieżki URL?
c#
downloadfile
Vbroto
źródło
źródło
Odpowiedzi:
źródło
Uwzględnij tę przestrzeń nazw
Pobierz asynchronicznie i umieść pasek postępu, aby pokazać status pobierania w samym wątku interfejsu użytkownika
źródło
Użyj
System.Net.WebClient.DownloadFile
:źródło
źródło
Ukończ klasę, aby pobrać plik podczas drukowania statusu na konsolę.
Stosowanie:
źródło
SemaphoreSlim
w tym kontekście?Spróbuj użyć tego:
źródło
Możesz także użyć metody DownloadFileAsync w klasie WebClient. Pobiera do lokalnego pliku zasób o określonym URI. Również ta metoda nie blokuje wątku wywołującego.
Próba:
Po więcej informacji:
http://csharpexamples.com/download-files-synchronous-asynchronous-url-c/
źródło
Sprawdź połączenie sieciowe,
GetIsNetworkAvailable()
aby uniknąć tworzenia pustych plików, gdy nie jest ono podłączone do sieci.źródło
GetIsNetworkAvailable()
ponieważ z mojego doświadczenia zwraca zbyt wiele fałszywych trafień.GetIsNetworkAvailable()
zawsze wróci poprawnie. W takim przypadku możesz użyćSystem.Net.WebClient().OpenRead(Uri)
metody, aby sprawdzić, czy zwraca po otrzymaniu domyślnego adresu URL. Zobacz WebClient.OpenRead ()Poniższy kod zawiera logikę pobierania pliku o oryginalnej nazwie
źródło
Konieczne może być sprawdzenie stanu i aktualizacja paska postępu podczas pobierania pliku lub użycie poświadczeń przed wysłaniem żądania.
Oto przykład obejmujący te opcje. Zastosowano notację lambda i interpolację ciągów :
źródło
Z moich badań wynika, że
WebClient.DownloadFileAsync
to najlepszy sposób na pobranie pliku. Jest dostępny wSystem.Net
przestrzeni nazw i obsługuje również rdzeń .net.Oto przykładowy kod do pobrania pliku.
Z powyższym kodem plik zostanie pobrany w
tepdownload
folderze katalogu projektu. Przeczytaj komentarz w kodzie, aby zrozumieć, co robi powyższy kod.źródło