tracks62
Messages postés21Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention29 octobre 2007
-
21 juin 2006 à 11:52
dgouttegattat
Messages postés129Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 décembre 2007
-
21 juin 2006 à 12:41
J'aimerais arriver a comprendre quelque chose... J'ai deux bout de code qui me permet d'attaché un fichier joint a mail qui proviens d'un tableau de byte.
le 1er code fonctionne :
MemoryStream m = new MemoryStream(dt, 0, dt.Length);
Attachment maPieceJointe = new Attachment(m, "test.jpg");
le 2eme code ne fonctionne pas et pourtant il me semble identique...
MemoryStream m = new MemoryStream();
m.SetLength(dt.Length);
m.Write(dt, 0, dt.Length);
Attachment maPieceJointe = new Attachment(m, "test.jpg"); // a cet endroit la, m est bien rempli...
dgouttegattat
Messages postés129Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 décembre 20073 21 juin 2006 à 12:41
Salut,
A priori, je suppose que c'est à cause de la position courante dans le MemoryStream : dans le premier code, la position courante est au début du flux, alors que dans le second, elle est juste après le tableau de bytes ajoutés dans le flux par la méthode Write.
Si c'est bien là la raison, il doit suffire dans le second code d'ajouter
<hr />m.Seek(0, SeekOrigin.Begin);<hr />
juste après l'écriture du tableau afin de se replacer au début du flux, et donc permettre au contructeur de Attachment d'en lire le contenu.