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;