向.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语法很弱,所以在那里可能会有一些愚蠢的错误,但希望我的意思是清楚的,那些肯定是正确的类/方法).

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章