从c#中的Properties.Resources添加LinkedResource

时间:2013-11-14 12:58:08

标签: c# email email-attachments alternateview

使用

将jpeg图片添加到邮件中
LinkedResource resPic = new LinkedResource(@"path\Pic.jpg", MediaTypeNames.Image.Jpeg); 

运行良好,但我需要添加项目Properties.Resources.Pic。

中的图片

怎么办呢?

1 个答案:

答案 0 :(得分:0)

一种方法是首先将其保存到磁盘:

var fileName = Guid.NewGuid.ToString();
var path = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)),
    fileName);
File.WriteAllBytes(path, Properties.Resources.Pic);

LinkedResource resPic = new LinkedResource(path, MediaTypeNames.Image.Jpeg);

然后当您完成整个过程时,请清理文件:

File.Delete(path);

我不保证您能够以相同的方法清理文件,因此path可能需要是一个更易于访问的变量,但您可以计算出这些细节。