Sto cercando di decomprimere a livello di codice un file zippato.
Ho provato a utilizzare la System.IO.Compression.GZipStream
classe in .NET, ma quando viene eseguita la mia app (in realtà un test unitario) ottengo questa eccezione:
System.IO.InvalidDataException: il numero magico nell'intestazione GZip non è corretto. Assicurati di passare in uno stream GZip ..
Ora mi rendo conto che un .zip
file non è uguale a un .gz
file e che GZip
non è lo stesso di Zip
.
Tuttavia, poiché sono in grado di estrarre il file facendo doppio clic manualmente sul file zippato e quindi facendo clic sul pulsante "Estrai tutti i file", penso che dovrebbe esserci un modo per farlo anche nel codice.
Pertanto ho provato a utilizzare Process.Start()
il percorso del file zippato come input. Questo fa sì che la mia app apra una finestra che mostra i contenuti nel file zippato. Va tutto bene, ma l'app verrà installata su un server senza nessuno in giro per fare clic sul pulsante "Estrai tutti i file".
Quindi, come posso ottenere la mia app per estrarre i file nei file compressi?
O c'è un altro modo per farlo? Preferisco farlo nel codice, senza scaricare librerie o app di terze parti; il dipartimento di sicurezza non è troppo fantasioso ...