renholmMedlem sedan apr. 20012 266 inlägg Hej
Vill hämta en zip-fil via FTP och extracta vissa filer från zip-filen. Har tänkt att använda SharpZipLib, finns det alternativ?. Tyvärr kan inte new ZipFile(Stream stream) ta en ström som inte inte är sökbar (CanSeek satt till true).
En lösning vore att skriva zip-filen till disk och sedan läsa den med en FileStream men känns rätt fånigt när de extractade filerna inte ens skall skrivas till disk. En bättre lösning vore då att skriva en egen Stream som vid Seek och Read läser från NetworkStream till någon form av buffer. Vad tror ni om den senare lösningen? Eller finns det redan något sätt att åstakomma detta på?
GladhMedlem sedan maj 20012 812 inlägg Vet inte om MemoryStream är sökbar (har dock svårt att tro att den inte är det). Om jag förstod dig rätt så borde alltså du så fall ta networkstreamen och spara ner i en buffer sedan lägga denna buffer i memorystreamen (vet inte om du kan skriva direkt från networkstream till memorystream, kan du det är det att föredra). När du sedan har din zip-fil i memorystreamen så kör du new ZipFile(memorystream).
- M
renholmMedlem sedan apr. 20012 266 inlägg Blev min lösning, tänkte först göra så att man aldrig läste mer än nödvändigt från NetworkStream. Men fick reda på en uppskattad filstorlek av filerna som skall hämtas och då är det inget problem att läsa in allt på engång i en MemoryStream.