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.
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!