o anexo de email do MemoryStream fica vazio

_data é uma matriz de bytes [] de dados do anexo.

Quando estou fazendo isso:

 var ms = new MemoryStream(_data.Length); 
 ms.Write(_data,0,_data.Length);
 mailMessage.Attachments.Add(new Attachment(ms, attachment.Name));

O anexo está vazio. Na verdade, o Outlook mostra o tamanho do arquivo, mas está incorreto.

Bem, pensei que havia um problema nos meus _dados. Então eu decidi tentar esta abordagem:

 var ms = new MemoryStream(_data.Length); 
 ms.Write(_data,0,_data.Length);
 fs = new FileStream(@"c:\Temp\"+attachment.Name,FileMode.CreateNew);
 fs.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
 fs.Flush();
 fs.Close();
 mailMessage.Attachments.Add(new Attachment(@"c:\Temp\" + attachment.Name));

E isso funciona. O que há de errado com o primeiro?

questionAnswers(2)

yourAnswerToTheQuestion