Добавить LinkedResource из Properties.Resources в C#

Добавление изображения JPEG в почтовое сообщение с помощью

LinkedResource resPic = new LinkedResource(@"path\Pic.jpg", MediaTypeNames.Image.Jpeg); 

работает хорошо, но мне нужно добавить картинку из проекта Properties.Resources.Pic.

Как это можно сделать?

1 ответ

Решение

Один из подходов - сначала сохранить его на диск:

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 может потребоваться более доступная переменная, но вы можете проработать эти детали.

Другие вопросы по тегам