Почему при подключении jpeg к почтовому сообщению SMTP изображение становится пустым, когда я его получаю? Что не так с этим кодом? - PullRequest
0 голосов
/ 09 марта 2011

У меня есть следующий код, который прикрепляет JPEG к электронной почте.

System.Net.Mime.ContentType contentType = new System.Net.Mime.ContentType();
contentType.MediaType = System.Net.Mime.MediaTypeNames.Image.Jpeg;
contentType.Name = "screen";

Attachment screenCapture = new Attachment(imageStream, contentType);

//this next line works, I checked the image on the hard drive so I know the jpeg is ok
File.WriteAllBytes("c:\\somecoolimage.jpeg", imageStream.ToArray());

mail.Attachments.Add(screenCapture);

smtp.Send(mail);

Однако, когда я получаю письмо с вложением в моем письме, оно имеет 0 байтов. Что я тут не так делаю?

1 Ответ

4 голосов
/ 09 марта 2011

Возможно, вы оставили imageStream расположенным в конце данных вместо начала ?(Я предполагаю, что это MemoryStream.) Попробуйте это:

imageStream.Position = 0;
Attachment screenCapture = new Attachment(imageStream, contentType);

(MemoryStream.ToArray игнорирует текущую позицию потока, но я подозреваю, что Attachment нет.)

...