ZIP-файл пуст в приложении к письму, отправленному с помощью C#

Я создаю один zip-файл и прикрепляю его к электронной почте, используя C# в моем проекте

Я использую DotNetZip для этого.

Сильфон это код этого

Attachment attachment;
MemoryStream memoryStreamOfFile = new MemoryStream();
using (ZipFile zip = new ZipFile()) {
     zip.Password = "123456";
     zip.Encryption = EncryptionAlgorithm.WinZipAes256;
     zip.AddEntry(FileName + ".csv", stream);
     zip.Save(memoryStreamOfFile);
     attachment = new Attachment(memoryStreamOfFile, new ContentType("application/zip")) {Name = FileName + ".zip"};
} 

Что на самом деле я хочу сделать, это то, что у меня есть byte[] который я конвертирую в MemoryStream и добавляю в zip как csv и прикрепляю этот zip файл к электронной почте. Но почтовый файл пуст в электронном письме. Я не могу создать zip-файл физически на моем диске, я должен создать только MemoryStream.

Я делаю что-то не так?

1 ответ

Решение

Вам может понадобиться сбросить положение потока после команды Сохранить.

zip.AddEntry(FileName + ".csv", stream);
zip.Save(memoryStreamOfFile);
memoryStreamOfFile.Position = 0; 
Другие вопросы по тегам