向.NET电子邮件添加附件

如何附加非常不友好的名称文件(如具有会话编号的文件),但是将其作为另一个名称附加?

所涉及的文件名称中有会话ID,以避免Web服务器上的冲突名称,但是当我将其附加到该文件时,较为友好的名称是可取的.

有没有办法以不友好的名称附加文件作为另一个名称,以便当用户收到电子邮件时,他可以从名称中知道该文件内容是什么?我不喜欢创建一个唯一的文件夹,只是为了在其中放置一个非唯一的文件名,以简单地将其附加到电子邮件.

Dim mailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
mailMessage.Attachments.Add("C:\My\Code\BESI\BESI\Files\Invoice-djopyynrgek4p4qadn31dxxs.pdf",????)

解决方法

是的 – 您可以使用Attachment()的不同构造函数来做你想做的事情.可悲的是,没有一个文件名和一个单独的名称,但有一个需要一个Stream和一个单独的名称.并且在System.IO.File中有帮助方法,可以从文件名中轻松获取文件流.
Imports System.Net.Mail
Imports System.IO

Dim mailMessage as MailMessage = New MailMessage()
Dim stream as FileStream = File.OpenRead("C:\My\Code\BESI\BESI\Files\Invoice-djopyynrgek4p4qadn31dxxs.pdf")
Dim attachment as Attachment = New Attachment(stream,"FriendlyName.pdf")
mailMessage.Attachments.Add(attachment)

'Be sure to dispose stream after you've sent the mail.

(我的VB语法很弱,所以在那里可能会有一些愚蠢的错误,但希望我的意思是清楚的,那些肯定是正确的类/方法).

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...