Ciao a tutti, sul lavoro ho necessità di comprimere dei file in formato zip (e magari anche in rar) per poi inviarli tramite mail.
Questi file però non sono fisicamente sul disco fisso ma sono creati runtime dall'applicazione web (xls o txt) e memorizzati in uno stream.
Cercando in rete ho trovato la classe GZipStream (contenuta in System.IO.Compression) ma non è proprio come pensavo.
Questa classe comprime sì uno stream, ma non permette di scegliere niente: praticamente quando memorizzo lo stream in un file, non ho possibilità di scegliere il nome del filo contenuto nell'archivio, che prende lo stesso nome del file zippato senza l'estensione .zip
Ho provato anche a memorizzare il file zip come file.xls.zip, ma il file contenuto nell'archivio viene chiamato "file xls" senza il punto.
Inoltre ho notato che in realtà l'algoritmo di compressione non è proprio quello zip, ma gz. Infatti se tento di aprire il file salvato come zip con winzip non funziona, mentre se salvo il file come gz winzip riesce ad aprirlo correttamente.
Qualcuno mi sa consigliare un metodo efficacie per comprimere degli stream e memorizzarli correttamente in formato zip, potendo anche scegliere il nome del file contenuto nell'archivio?