【发布时间】:2018-10-30 14:02:47
【问题描述】:
我的 ASP.NET Core 项目中有一个联系表单,它可以正常工作。但是现在,我想上传一个文件。这是我的代码:
型号:
namespace WebApplication1.Models
{
public class MailModels
{
[StringLength(5)]
public string Name { get; set; }
[StringLength(5)]
public string SurName { get; set; }
//[StringLength(5, ErrorMessage = "First name cannot be longer than 50 characters.")]
public string Email { get; set; }
public string Telephone { get; set; }
[StringLength(1000)]
public string Message { get; set; }
public IFormFile FileUploading { get; set; }
}
}
视图(部分视图):
<label class="file_uploading">
@Html.TextBoxFor(m => m.FileUploading, new { type = "file", @class = "input-file" })
</label>
控制器(控制器的一部分):
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index2(MailModels e, IFormFile file)
{
if (ModelState.IsValid)
{
StringBuilder message = new StringBuilder();
MailAddress from = new MailAddress(e.Email.ToString());
message.Append("Name: " + e.Name + "\n");
message.Append("Surname: " + e.SurName + "\n");
message.Append("Email: " + e.Email + "\n");
message.Append("Telephone: " + e.Telephone + "\n\n\n");
message.Append("Text: " + e.Message + "\n");
MailMessage mail = new MailMessage();
SmtpClient smtp = new SmtpClient();
// .....
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及重现它所需的最短代码在问题本身。没有明确的问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
-
...那么这里有什么问题?
-
我的问题是如何发送上传文件以及其他信息,如姓名、姓氏、电子邮件、电话、文本..我不知道如何导入文件内容以及如何发送..
-
从您的 POST 方法中删除无意义的
IFormFile file参数,该参数将始终为null(您的文件输入绑定到模型的FileUploading属性)
标签: .net asp.net-mvc asp.net-core-mvc asp.net-core-mvc-2.0