Bir zip dosyasına MemoryStream
bir dosya eklemek için DotNetZip kullanıyorum ve daha sonra bir eklenti olarak e-posta gönderebilmem için bu zip'i MemoryStream
olarak kaydediyorum. Aşağıdaki kod hata vermez, ancak MemoryStream
doğru okunamadığından doğru yapılmamalıdır. Zip'i sabit diskime kaydettiğimde her şey mükemmel çalışıyor, sadece bir akışa kaydetmeye çalıştığımda değil.DotNetZip Yayına Kaydetme
using (ZipFile zip = new ZipFile())
{
var memStream = new MemoryStream();
var streamWriter = new StreamWriter(memStream);
streamWriter.WriteLine(stringContent);
streamWriter.Flush();
memStream.Seek(0, SeekOrigin.Begin);
ZipEntry e = zip.AddEntry("test.txt", memStream);
e.Password = "123456!";
e.Encryption = EncryptionAlgorithm.WinZipAes256;
var ms = new MemoryStream();
ms.Seek(0, SeekOrigin.Begin);
zip.Save(ms);
//ms is what I want to use to send as an attachment in an email
}
Bellek akışı zip verileriyse, okunamaz durumda olmasını beklemez miydiniz? –
Bellek akışını bir dosyaya kaydetmeyi denediniz mi ve dosyayı doğrudan ZipFile'dan dosyaya kaydettiğinizde dosyanın kaynağının dosyadan farklı olduğunu doğruladınız mı? – erikH
Sam I - Bellek akışını alıyorum ve test.zip adlı ek olarak gönderiyorum. Sonra gittim, onu düzenli bir zip dosyası olarak ele alabileceğimi düşündüm. Bunu düşünürken yanlış mıyım? – user229133