_data est un tableau d'octets [] de données de pièce jointe.La pièce jointe d'un e-mail à partir de MemoryStream est vide
Quand je fais ceci:
var ms = new MemoryStream(_data.Length);
ms.Write(_data,0,_data.Length);
mailMessage.Attachments.Add(new Attachment(ms, attachment.Name));
pièce jointe est vide. En fait, Outlook montre la taille du fichier mais c'est incorrect.
Eh bien, je pensais qu'il y avait un problème dans mes données. Ensuite, j'ai décidé d'essayer cette approche:
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));
Et cela fonctionne. Quel est le problème avec le premier?
ça n'aide pas, j'ai essayé ça – Agzam
@Ike: S'il vous plaît montrer le code où vous avez essayé cela. –
oh .. attends ... En fait c'était ça ... Je suis sûr que j'ai déjà essayé ça, et ça n'a pas marché. probablement je me suis trompé avec autre chose ... – Agzam