使用asp.net mvc从上传文件附件中清空文件

时间:2017-12-03 15:55:29

标签: asp.net-mvc

我想发送附件附件的电子邮件,并从表单上的上传文件中获取附件。电子邮件已正确发送,但是当我打开附件时,它始终是一个空文件。控制器的发送附件代码是否有错误?似乎文件中的数据未保存,发送时文件为空。

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));

}

2 个答案:

答案 0 :(得分:0)

您的代码没有错误。一切都好。实际上,只要我们想要共享任何文件,图像或电子邮件中的任何内容,请确保它可用于任何blob或云存储,并将其链接提供给您的电子邮件。 我们与电子邮件共享的文件,实际上是我们本地计算机服务器上存在的文件或您放置项目的文件,但这并不意味着如果您将其放入电子邮件并共享它。

答案 1 :(得分:0)

尝试仅将文件名传递给Attachment构造函数。 通过HttpPostedFileBase文件,您应该能够获取文件名并传递该值,看看它是否有效