Was ist eine einfache Möglichkeit, eine Datei von einem URL-Pfad herunterzuladen?
c#
downloadfile
vbroto
quelle
quelle
Antworten:
quelle
Fügen Sie diesen Namespace ein
Asynchron herunterladen und eine ProgressBar einfügen , um den Status des Downloads im UI-Thread selbst anzuzeigen
quelle
Verwendung
System.Net.WebClient.DownloadFile
:quelle
quelle
Schließen Sie die Klasse ab, um eine Datei herunterzuladen, während Sie den Status auf die Konsole drucken.
Verwendungszweck:
quelle
SemaphoreSlim
in diesem Zusammenhang verwenden?Versuchen Sie Folgendes:
quelle
Sie können auch die DownloadFileAsync-Methode in der WebClient-Klasse verwenden. Die Ressource mit dem angegebenen URI wird in eine lokale Datei heruntergeladen. Auch diese Methode blockiert den aufrufenden Thread nicht.
Stichprobe:
Für mehr Informationen:
http://csharpexamples.com/download-files-synchronous-asynchronous-url-c/
quelle
Suchen Sie nach einer Netzwerkverbindung
GetIsNetworkAvailable()
, um zu vermeiden, dass leere Dateien erstellt werden, wenn keine Verbindung zu einem Netzwerk besteht.quelle
GetIsNetworkAvailable()
da meiner Erfahrung nach zu viele Fehlalarme zurückgegeben werden.GetIsNetworkAvailable()
immer korrekt zurückgegeben. In einem solchen Fall können Sie mithilfe derSystem.Net.WebClient().OpenRead(Uri)
Methode überprüfen, ob sie bei Angabe einer Standard-URL zurückgegeben wird. Siehe WebClient.OpenRead ()Der folgende Code enthält eine Logik zum Herunterladen der Datei mit dem ursprünglichen Namen
quelle
Möglicherweise müssen Sie den Status kennen und eine ProgressBar während des Herunterladens der Datei aktualisieren oder Anmeldeinformationen verwenden, bevor Sie die Anforderung stellen können.
Hier ist ein Beispiel, das diese Optionen abdeckt. Lambda-Notation und String-Interpolation wurden verwendet:
quelle
Nach meinen Recherchen habe ich festgestellt, dass dies
WebClient.DownloadFileAsync
der beste Weg ist, um Dateien herunterzuladen. Es ist verfügbar inSystem.Net
Namespace und unterstützt auch den .net-Kern.Hier ist der Beispielcode zum Herunterladen der Datei.
Mit dem obigen Code wird die Datei im
tepdownload
Ordner des Projektverzeichnisses heruntergeladen . Bitte lesen Sie den Kommentar im Code, um zu verstehen, was der obige Code tut.quelle