Прикрепление вложения к электронному письму.NET

Как я присоединяю файл с очень недружелюбным именем (как файл с Идентификационным номером сессии в нем), но это присоединило как другое имя?

Рассматриваемое имя файла имеет идентификатор сессии в нем для предотвращения имени столкновений на веб-сервере, но когда я присоединяю его к файлу, более дружественное имя предпочтительно.

Существует ли способ присоединить файл с недружелюбным именем как другое имя так, чтобы, когда пользователь получает электронную почту, он мог сказать с имени, каково содержание файла? Я не хотел бы должным быть создать уникальную папку только для помещения не уникального имени файла в него в целях простого присоединения его на электронное письмо.

Dim mailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
mailMessage.Attachments.Add("C:\My\Code\BESI\BESI\Files\Invoice-djopyynrgek4p4qadn31dxxs.pdf", ????)
9
задан ChadD 3 April 2010 в 03:26
поделиться

1 ответ

Да, вы можете делать то, что вы пытаюсь сделать это с помощью другого конструктора для 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 слабый, поэтому здесь могут быть некоторые глупые ошибки, но, надеюсь, мой смысл ясен, и это определенно правильные классы / методы для использования.)

20
ответ дан 4 December 2019 в 10:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: