首页 >后端开发 >C++ >如何将文件从 MemoryStream 附加到 MailMessage?

如何将文件从 MemoryStream 附加到 MailMessage?

Susan Sarandon
Susan Sarandon原创
2025-01-04 13:32:40356浏览

How Can I Attach Files from a MemoryStream to a MailMessage?

访问 MailMessage 中文件附件的内存流

将 MemoryStream 中的文件附加到 MailMessage 可以消除中间文件存储的需要。本文探讨了此问题的解决方案。

为了实现此目的,使用 StreamWriter 创建 MemoryStream 并用文件内容填充。一旦文件进入内存,它的位置就会重置到开头。

然后根据文件类型定义 MimeContentType(例如,纯文本的 text/plain)。最后,使用 MemoryStream 创建一个新附件并分配一个文件名。

以下是示例代码片段:

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";

此方法允许您直接从内存附加文件,从而无需用于磁盘上的中间文件存储。您可以指定不同的 MimeType 以适应各种文件格式并确保正确的文件扩展名。

以上是如何将文件从 MemoryStream 附加到 MailMessage?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn