2013-02-12 23 views
0

我已经使用ICSharpCode.SharpZipLib.Zip用于创建Zip文件的库工作正常,但是当我将此Zip文件附加到邮件附件时,邮件不会由于附加的zip文件而发送,在MVC3中通过邮件发送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文件?

回答

1

您的代码

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

通过一个流,但该流是空的(没有什么是在memoryStream)。

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

如果使用一个MemoryStream,确保并设置其位置0

memoryStream.Position = 0; 

取决于你如何使用SharpZipLib,您可以访问一个ZipOutputStream。如果你这样做,我想你可以使用它。

+0

谢谢你的回复,是的,我有磁盘上的zip文件你可以告诉我任何示例如何使用文件流来附加zip文件? – Shivkumar 2013-02-12 06:51:35

0

可能有很多原因的问题,

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