1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
MemoryStream outputMemStream = new MemoryStream();
ZipOutputStream zipStream = new ZipOutputStream(outputMemStream);
zipStream.SetLevel(3); //0-9, 9 being the highest level of compression
ZipEntry newEntry = new ZipEntry("model.xml");
newEntry.DateTime = DateTime.Now; // Note the zip format stores 2 second granularity
zipStream.PutNextEntry(newEntry);
byte[] buffer = new byte[4096];
MemoryStream fsModel = new MemoryStream();
myXml.Save(fsModel);
StreamUtils.Copy(fsModel, zipStream, buffer);
zipStream.CloseEntry();
SaveFileDialog mySaveFileDialog = new SaveFileDialog();
mySaveFileDialog.DefaultExt = ".zip"; // Extension par défaut
mySaveFileDialog.Filter = "ZIP | *.zip"; // Extension proposée
bool? ret = mySaveFileDialog.ShowDialog();
if (ret == true)
{
using (Stream fs = (Stream)mySaveFileDialog.OpenFile())
{
zipStream.CopyTo(fs);
fs.Close();
}
}
zipStream.IsStreamOwner = false;
zipStream.Close(); |