Maison >développement back-end >C++ >Comment joindre des fichiers d'un MemoryStream à un MailMessage en C# ?

Comment joindre des fichiers d'un MemoryStream à un MailMessage en C# ?

DDD
DDDoriginal
2025-01-02 15:27:39508parcourir

How to Attach Files from a MemoryStream to a MailMessage in C#?

Joindre des fichiers de MemoryStream à MailMessage en C

Lors de la rédaction d'e-mails en C#, vous pouvez rencontrer le besoin de joindre des fichiers. Traditionnellement, les fichiers étaient stockés sur disque avant d'être ajoutés à la collection de pièces jointes. Cependant, cette approche nécessite d'enregistrer les fichiers sur le disque, ce qui peut s'avérer inefficace et inutile dans certains scénarios.

Au lieu d'enregistrer les fichiers sur le disque, vous pouvez les stocker en mémoire à l'aide de MemoryStream. Cette technique vous permet de joindre directement les fichiers à l'objet MailMessage sans étapes intermédiaires.

Exemple de code

L'exemple de code suivant montre comment joindre un fichier de MemoryStream à un MailMessage :

System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.IO.StreamWriter writer = new System.IO.StreamWriter(ms);
writer.Write("Hello its my sample file");
writer.Flush();
writer.Dispose();
ms.Position = 0;

System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Text.Plain);
System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ms, ct);
attach.ContentDisposition.FileName = "myFile.txt";

// I guess you know how to send email with an attachment
// after sending email
ms.Close();

Modifier 1 :

Vous pouvez spécifier d'autres types de fichiers en en utilisant System.Net.Mime.MimeTypeNames, tel que System.Net.Mime.MediaTypeNames.Application.Pdf.

En fonction du type Mime, assurez-vous que l'extension correcte est spécifiée dans FileName, par exemple, "myFile .pdf".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn