Joindre un fichier de MemoryStream à un MailMessage en C#
Dans cet article, nous aborderons la question de la pièce jointe d'un fichier à partir d'un MemoryStream vers un MailMessage dans C#.
Problème :
Le lecteur stocke actuellement des fichiers sur le disque à l'aide de FileStream, puis les ajoute en tant que pièces jointes à l'aide de System.Net.Mail.MailMessage.Attachments.Add . Cependant, ils souhaitent éviter de stocker des fichiers sur disque et travailler avec MemoryStream.
Solution :
Pour y parvenir, nous pouvons utiliser l'approche suivante :
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();
Notes supplémentaires :
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!