Sie können den Antwortkopf Content-Disposition
mit einer HTTP
Anfrage, um den Dateinamen zu erhalten. Dies wäre eine allgemeinere Lösung sein, also auch dann, wenn der Dateiname nicht in der URL enthalten ist, würde es funktionieren:
var url = "http://findicons.com/icon/download/235456/internet_download/128/png?id=235724";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
var fn = response.Headers["Content-Disposition"].Split(new string[] { "=" }, StringSplitOptions.None)[1];
string basePath = @"X:\Folder\SubFolder"; // Change accordingly...
var responseStream = response.GetResponseStream();
using (var fileStream = File.Create(Path.Combine(basePath, fn)))
{
responseStream.CopyTo(fileStream);
}
}
Der obige Code bestimmte Methoden und Funktionen verwendet, können Sie weitere Informationen finden Sie hier:
Hoffnung diese Antwort hilft Ihnen :)
denken Sie, teilen Sie Ihre Beispiel-Code? –
Es hängt vom Webserver ab, welches Ergebnis er sendet. Wenn es sich um eine Datei handelt, teilt der Server dem Client den Inhalt und den Namen der Datei mit. Sie müssen eine Anfrage senden, um festzustellen, um welche Erweiterung es sich handelt. Es gibt keine Möglichkeit zu wissen, ohne zu kommunizieren. – Laurence
Ich möchte die Datei herunterladen, ohne den Namen und die Erweiterung in Ordner zu kennen. –