是否可以将文档附加到电子邮件而不将其保存在服务器上?
以下代码仅在保存到服务器后才会附加。我正在寻找的是将文档附加到电子邮件而不先将其保存,而只是从提供的路径附加到电子邮件。
这是在Visual Studio 2005中使用c#
if (SaveDocument.HasFile)
{
/* Get a reference to PostedFile object */
string strFileName = Path.GetFileName(SaveDocument.PostedFile.FileName);
/* Save the file on the server */
SaveDocument.PostedFile.SaveAs(Server.MapPath(strFileName));
/* Create the email attachment with the uploaded file */
System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(Server.MapPath(strFileName));
/* Attach the newly created email attachment */
message.Attachments.Add(attach);
}
答案 0 :(得分:2)
当然,a constructor overload for Attachment
接受Stream
而不是文件名。因此,例如,如果您有byte[]
个数据,则可以从中创建Attachment
:
var contentType new ContentType(MediaTypeNames.Text.Plain);
var attach = new Attachment(new MemoryStream(data), contentType);
答案 1 :(得分:0)
答案 2 :(得分:0)
将PostedFile
的{{1}}直接传递给InputStream
。
Attachment
我还没有尝试过,但它应该有用。