访问 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中文网其他相关文章!