图像对象(作为邮件附件)文件路径

时间:2012-02-04 16:33:18

标签: c# image

我正在为outlook 2007创建一个插件,它将表情符号嵌入到电子邮件正文中。

我使用的方法如下:

if (!string.IsNullOrEmpty(mail.HTMLBody) && mail.HTMLBody.ToLower().Contains("</body>"))
            {
                int mailBodyLength;
                if (mail.Body == null)
                {
                    mailBodyLength = 0;
                }
                else
                {
                    mailBodyLength = mail.Body.Length;
                }
                //Get Image + Link
                Image imagePath = image;
                object linkAddress = "http://www.pentavida.cl";

                //CONTENT-ID
                const string SchemaPR_ATTACH_CONTENT_ID = @"http://schemas.microsoft.com/mapi/proptag/0x3712001E";
                string contentID = Guid.NewGuid().ToString();

                //Attach image               
                mail.Attachments.Add(imagePath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, mailBodyLength, Type.Missing);
                mail.Attachments[mail.Attachments.Count].PropertyAccessor.SetProperties(SchemaPR_ATTACH_CONTENT_ID, contentID);

                //Create and add banner
                string banner = string.Format(@"<br/><a href=""{0}"" ><img src=""cid:{1}"" ></a></body>", linkAddress, contentID);
                mail.HTMLBody = mail.HTMLBody.Replace("</body>", banner);

                mail.Save();
            }

在这一行:mail.Attachments.Add(imagePath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, mailBodyLength, Type.Missing);

我正在添加一个图像对象(imagePath),但它抛出一个异常,当我在方法中放置一个完整的图像路径时,它工作,现在我正在通过从我的资源文件夹中获取的图像。我假设该方法失败,因为它需要图像的路径而不是Image对象。如何从此Image对象中获取图像路径名称以传递给此方法?

我有一个从资源文件夹中获取的图像,我需要该图像的路径。我如何走这条路?

Image imagePath = image;

我需要图像路径,因为我将图像添加到Outlook中的新邮件中。

但是当我通过Image对象时,它抛出了一个异常:

 Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))

但传递一个字符串可以正常工作。

提前感谢。

0 个答案:

没有答案