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

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

DDD
DDDoriginal
2025-01-02 15:18:38478parcourir

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

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 :

  • Il est important de préciser le MimeType lors de la création du ContentType.
  • Vous devez spécifier l'extension correcte dans FileName en fonction du MimeType, par exemple, "myFile.pdf" pour les 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