У меня есть контактная форма в моем проекте 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();
// .....