2013-02-12 33 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等)