42 messaggi dal 08 febbraio 2002
Ciao,
Sto facendo un'applicazione che spedisce, tramite outlook 2003 dei files, ma per forza di cose i files devono essere zippati. Ho implementato questo metodo:

public static DeflateStream ZipFile(FileStream PDFile, FileStream PDZipFile)
{
GZipStream myZip = new GZipStream(PDZipFile, CompressionMode.Compress);
int readByte = PDFile.ReadByte();
while (readByte != -1)
{
myZip.WriteByte((byte)readByte);
readByte = PDFile.ReadByte();
}
myZip.Close();
return new DeflateStream(PDZipFile, CompressionMode.Compress); // ERRORE !!!
}

che riceve i due paramentri Stream :

string FileLoc = Environment.CurrentDirectory + @"\" + Guid.NewGuid() +
Commons.DefaultZipExtension;
FileStream myFile = File.OpenRead(this.filepath);
FileStream myDestFile = new FileStream(FileLoc, FileMode.Create); // <-----
DeflateStream zipFile = Commons.ZipFile(myFile, myDestFile);


Nella riga indicata però si solleva un'eccezione : "The base Stream is not writeable". Non ho ancora trovato nulla a riguardo ne sull'msdn nè su altri forum. Sembrerebbe strano, visto che lo stream passato è stato istanziato con FileMode.Create
497 messaggi dal 09 giugno 2006
Contributi
Ciao.

Non ho verificato nei dettagli il tuo codice (c'è qualcosa che non mi torna) ma a colpo d'occhio sembrerebbe un problema legato alla chiamata "myZip.Close();" che chiude tutti gli stream associati.

Quello che non mi chiaro è come mai, in "ZipFile", dopo aver usato GZipStream(,) chiami anche DeflateStream(,) ...

Ciao.

.:. Marcello Rutter .:.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.