Dot-Net
向 .NET 電子郵件添加附件
如何附加名稱非常不友好的文件(例如其中包含會話 ID 號的文件)但將其附加為另一個名稱?
有問題的文件名中包含會話 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 語法很弱,所以可能會有一些愚蠢的錯誤,但希望我的意思很清楚,這些絕對是正確的類/方法。)