通过MVC3中的邮件发送Zip文件

本文关键字:Zip 文件 MVC3 通过 | 更新日期: 2023-09-27 17:58:42

我使用了ICSharpCode.SharpZip库来创建Zip文件,它运行良好,但当我将此Zip文件附加到邮件附件时,由于附加的Zip文件,邮件无法发送

这是将zip文件附加到邮件的代码

System.Net.Mail.Attachment attachment = null;
                try
                {
                    MemoryStream memoryStream = new MemoryStream();
                    attachment = new System.Net.Mail.Attachment(memoryStream, "test.zip");
                }
                catch (Exception e)
                {
                    return false;
                } 

请告诉我如何通过邮件发送zip文件?。

通过MVC3中的邮件发送Zip文件

您的代码

MemoryStream memoryStream = new MemoryStream();
attachment = new System.Net.Mail.Attachment(memoryStream, "test.zip");

传递一个Stream,但该Stream为空(memoryStream中没有任何内容)。

如果要使用MemoryStream,则必须将ZIP文件的内容读取到内存中。如果ZIP已经在磁盘上,您也可以使用FileStream。

如果使用MemoryStream,请确保并将其位置设置为0。

memoryStream.Position = 0;

根据您使用SharpZipLib的方式,您可能有权访问ZipOutputStream。如果你这样做,我想你可以用它。

问题可能有很多原因,

  1. 检查文件日期&时间
  2. 文件大小(基于服务器设置)
  3. 尝试不同的格式(rar、7z等)