我想发送附件附件的电子邮件,并从表单上的上传文件中获取附件。电子邮件已正确发送,但是当我打开附件时,它始终是一个空文件。控制器的发送附件代码是否有错误?似乎文件中的数据未保存,发送时文件为空。
MODEL:
public class Mail{
public HttpPostedFileBase File { get; set; }
}
查看:
@using (Html.BeginForm("ButtonClick", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })){
@Html.TextBoxFor(m => m.File, new { type = "file" })
}
控制器:
public void ButtonClick(object sender, EventArgs e, Mail mail){
mailMessage.Attachments.Add(new Attachment(mail.File.InputStream,mail.File.FileName));
}
答案 0 :(得分:0)
您的代码没有错误。一切都好。实际上,只要我们想要共享任何文件,图像或电子邮件中的任何内容,请确保它可用于任何blob或云存储,并将其链接提供给您的电子邮件。 我们与电子邮件共享的文件,实际上是我们本地计算机服务器上存在的文件或您放置项目的文件,但这并不意味着如果您将其放入电子邮件并共享它。
答案 1 :(得分:0)
尝试仅将文件名传递给Attachment构造函数。 通过HttpPostedFileBase文件,您应该能够获取文件名并传递该值,看看它是否有效