使用c#发送的电子邮件中的附件中的zip文件为空

时间:2015-03-18 08:29:58

标签: c# email email-attachments dotnetzip

我正在创建一个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文件在电子邮件中显示为空。我不能在我的驱动器中物理创建zip文件,我只需要创建它MemoryStream。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

您可能需要在保存命令后重置流的位置。

zip.AddEntry(FileName + ".csv", stream);
zip.Save(memoryStreamOfFile);
memoryStreamOfFile.Position = 0;