jemand weiß, wie könnte ich das tun? Ich habe versucht, diesen Code neu zu machen, aber es funktioniert nicht. Unpack a zip using ZipInputStream (eg for Unseekable input streams)Wie kann ich einzelne Datei von http herunterladen und extrahieren mit shartziplib in C#?
Antwort
Sie können es ohne externe Abhängigkeit tun. In System.IO.Compression.dll
und es verwenden, wie diese
using (var client = new System.Net.Http.HttpClient())
using (var stream = client.GetStreamAsync("https://github.com/frictionlessdata/specs/archive/master.zip").Result)
{
var basepath = Path.Combine(Path.GetTempPath() + "myzip");
System.IO.Directory.CreateDirectory(basepath);
var ar = new System.IO.Compression.ZipArchive(stream, System.IO.Compression.ZipArchiveMode.Read);
foreach (var entry in ar.Entries)
{
var path = Path.Combine(basepath, entry.FullName);
if (string.IsNullOrEmpty(entry.Name))
{
System.IO.Directory.CreateDirectory(Path.GetDirectoryName(path));
continue;
}
using (var entryStream = entry.Open())
{
System.IO.Directory.CreateDirectory(Path.GetDirectoryName(path));
using (var file = File.Create(path))
{
entryStream.CopyTo(file);
}
}
}
}
Sie können Httpclient ersetzen durch WebClient oder Httprequest, wenn Sie wollen.
Wenn Sie nur eine Datei zu extrahieren, ersetzen foreach (var entry in ar.Entries)
durch:
var entry = ar.Entries.FirstOrDefault(e => e.FullName.EndWith("myFile.txt"));
if(entry == null)
return;
Dank für Antwort, aber wenn ich will Extrahieren und Herunterladen einzelner Dateien aus diesem Repository? das ist was ich meine – patrycze
Sie können nicht eine einzelne Datei extrahieren, ohne die gesamte Zip-Datei herunterzuladen. Anstatt alle Einträge in der Zip-Datei zu durchlaufen, wählen Sie einfach den gesuchten Eintrag aus (zB: mit linq). Ich werde meine Antwort aktualisieren. – Kalten
- 1. Einzelne Datei herunterladen
- 2. C++: laden einzelne Datei mit http Anfrage
- 3. Wie kann ich eine HTTP-Ressource mit Akka Streams und HTTP in eine Datei herunterladen?
- 4. Wie kann ich eine XML-Datei mit C# herunterladen?
- 5. Wie kann man mehrere Links in eine einzelne Datei herunterladen?
- 6. C# shartziplib Hinzufügen von Datei zu vorhandenem Archiv
- 7. Datei von virtueller URL herunterladen mit C#
- 8. Wie kann ich eine Datei in php erstellen und herunterladen
- 9. Datei mit libcurl in C/C++ herunterladen
- 10. Datei herunterladen von Dropbox C#
- 11. Wie kann ich alle Klassen in eine separate Datei extrahieren?
- 12. Javascript Verwenden von benutzerdefinierten HTTP-Header und Trigger-Datei herunterladen
- 13. Datei mit partiellem Download (HTTP) herunterladen
- 14. Kann ich ipa-Datei von TestFlight herunterladen?
- 15. Wie kann ich Datei per Klick-Methode mit Perl herunterladen?
- 16. Datei von freigegebenen Ordner mit Ajax und Asp.net herunterladen C#
- 17. Wie kann ich mithilfe der Befehlszeile eine einzelne RAW-Datei von einem privaten Github-Repo herunterladen?
- 18. Kann ich java.net.Socket zum Herunterladen von http-Inhalten (Bild, MP3-Datei und andere) verwenden?
- 19. Rubymotion: Zip-Datei herunterladen und extrahieren in iOS
- 20. Ich habe eine einzelne Datei und muss mehrere Objekte zufällig serialisieren. Wie kann ich in C#?
- 21. Wie kann ich eine Datei mit Lebenslauf-Unterstützung herunterladen?
- 22. extrahieren jeweils Sequenzierungsdaten als einzelne Datei
- 23. Python - Herunterladen einer Datei über HTTP mit Fortschrittsbalken und Standardauthentifizierung
- 24. Wie kann ich nur meine PHP-Datei eine Datei herunterladen?
- 25. Wie kann ich db von heroku herunterladen?
- 26. wie man einzelne Ordner ODER Datei in gitlab Repository herunterladen
- 27. Ich kann Datei nicht herunterladen Download nicht funktioniert, wie zu reparieren und Datei herunterladen
- 28. Wie kann ich eine HttpResponse in eine Datei herunterladen?
- 29. C# extrahieren einzelne Zeichen aus einer ‚string‘
- 30. C# Datei herunterladen verstohlen?
Sie müssen die komplette Datei herunterladen, speichern Sie es als eine lokale Datei oder speichern Sie in einem Memory –