Я использую DotNetZip, чтобы добавить файл из MemoryStream
в zip-файл, а затем сохранить этот zip-файл как MemoryStream
, чтобы я мог отправить его по электронной почте в виде вложения. Приведенный ниже код не вызывает ошибок, но MemoryStream
нельзя делать правильно, потому что он нечитаем. Когда я сохраняю zip на свой жесткий диск, все работает идеально, но не когда я пытаюсь сохранить его в поток.
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
}