Comment définir un joli nom pour une pièce jointe à un courrier électronique (System.Net.Mail.SmtpClient)

StackOverflow https://stackoverflow.com/questions/1039664

Question

J'envoie des pièces jointes à l'aide de System.Net.Mail.SmtpClient en C #.
Les noms des pièces jointes sont identiques au nom du fichier que je passe dans le constructeur de la pièce jointe

myMail.Attachments.Add(new Attachment(attachmentFileName));

Comment puis-je définir un "agréable"? nom pour la pièce jointe? Les noms que j'ai actuellement sont essentiellement des identifiants numériques indiquant quelle occurrence d'un rapport est jointe. Mes utilisateurs recherchent quelque chose de plus convivial, tel que "résultats.xls".

Était-ce utile?

La solution

Voir Propriété Attachment.Name :

  

Obtient ou définit la valeur du nom du type de contenu MIME dans le type de contenu associé à cette pièce jointe.

Vous pouvez définir la pièce jointe < code> .Name à tout ce que vous aimez. Dans l'exemple du dernier lien, vous pourriez avoir:

// Create  the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
data.Name = "VeryNiceName.dat"; //(not in original example)
...
message.Attachments.Add(data);

Autres conseils

Enregistrez la pièce jointe dans le dossier temporaire avec le nom souhaité, puis joignez-la. N'oubliez pas de le supprimer après avoir envoyé l'e-mail afin que le dossier temporaire ne devienne pas trop volumineux.

Modifier : la réponse acceptée est bien meilleure, mais je la laisserai ici aux autres qui empruntent le même chemin de réflexion et qui voient à quel point c'est faux.

You can use this constructor for Attachment

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top