Maison >développement back-end >C++ >Comment puis-je joindre des fichiers d'un MemoryStream à un MailMessage ?
Accès aux flux de mémoire pour les pièces jointes dans MailMessages
Joindre des fichiers d'un MemoryStream à un MailMessage peut éliminer le besoin de stockage de fichiers intermédiaire. Cet article explore une solution à ce problème.
Pour y parvenir, un MemoryStream est créé et rempli avec le contenu du fichier à l'aide d'un StreamWriter. Une fois le fichier en mémoire, sa position est réinitialisée au début.
Un MimeContentType est ensuite défini en fonction du type de fichier (par exemple, text/plain pour du texte brut). Enfin, une nouvelle pièce jointe est créée à l'aide de MemoryStream et un nom de fichier lui est attribué.
Voici un exemple d'extrait de code :
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";
Cette approche vous permet de joindre des fichiers directement à partir de la mémoire, éliminant ainsi le besoin pour le stockage intermédiaire des fichiers sur disque. Vous pouvez spécifier différents MimeTypes pour s'adapter à différents formats de fichiers et garantir des extensions de nom de fichier appropriées.
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!