email-Anhang aus dem MemoryStream ist leer

_data ist ein Byte [] -Array von Anhangsdaten.

Wenn ich das mache:

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

Anhang ist leer. Tatsächlich zeigt Outlook die Dateigröße an, sie ist jedoch falsch.

Nun, ich dachte, es gibt ein Problem in meinen _Daten. Dann habe ich beschlossen, diesen Ansatz zu versuchen:

 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));

Und das funktioniert. Was ist los mit dem ersten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage