2012-07-03 178 views
0

我試圖將從SQL服務器檢索到的二進制數據作爲附件在辦公室插件中使用VB.net附加到電子郵件。將二進制數據附加到電子郵件附件

我可以,如果我指定的文件路徑和文件名,而不是二進制數據添加附件,下面是我的示例代碼:

Dim ms as System.IO.MemoryStream 
'binaryData is retrieved from SQL server 
'binaryData is a docx file stored in SQL server 
ms = New System.IO.MemoryStream(binaryData) 

Dim att as New System.Net.Mail.Attachment(ms, System.Net.Mime.MediaTypeNames.Text.Plain) 

mailItem.Attachments.Add(ms) 'mailItemm is Microsoft.Office.Interio.Outlook.MailItem 

我收到提示

COMException was unhandled by user code 
Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND)) 

我正在使用:

Visual Studio 2010 
.Net 4.0 
Microsoft Outlook 2010 

謝謝。

+0

是否是System.Net.Mime.MediaTypeNames.Text.Plain的替代方案? – SSS

回答

0

最後,我的二進制數據保存到用戶臨時文件夾中的文件,然後附加的文件,然後刪除該文件臨時文件夾,這樣更簡單。 謝謝。

1

它看起來像你試圖附加一個內存流而不是你剛創建的附件。嘗試改變這一行:

mailItem.Attachments.Add(ms) 

這樣:

mailItem.Attachments.Add(att) 
+0

我試過這個,但它也沒有工作。 – ahlun