I have a Model as:
public class Events
{
public int Id { get; set; }
public string title { get; set; }
public string amount { get; set; }
public string Finance_Approval { get; set; }
public string file_one { get; set; }
[NotMapped]
public HttpPostedFileBase file1 { get; set; }
}
And a controller as:
public ActionResult Index()
{
return View();
}
public ActionResult Request(Events e)
{
string filename = Path.GetFileNameWithoutExtension(e.file1.FileName);
string extension = Path.GetExtension(e.file1.FileName);
filename = filename + DateTime.Now.ToString("yymmssfff") + extension;
e.file_one = "PM_Files/" + filename;
filename = Path.Combine(Server.MapPath("~/PM_Files/"), filename);
e.file1.SaveAs(filename);
_context.evt.Add(e);
_context.SaveChanges();
return Content("Added");
}
And this is the full Razor View for Index:
@model InsertFromdifferentControllers.Models.Events
@using (Html.BeginForm("Request", "Requester", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="form-group">
@Html.LabelFor(a => a.title)
@Html.TextBoxFor(a => a.title, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(a => a.amount)
@Html.TextBoxFor(a => a.amount, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Select the file word or pdf etc</label>
<input type="file" name="file1" />
</div>
<button class="btn btn-primary">Request</button>
}
When i click on request button it gives an error as: Object Reference Not set to an instance of an object and it Marks the following line in red color:
string filename = Path.GetFileNameWithoutExtension(e.file1.FileName);
I would like to add that if i remove the button then everything saves properly and it seems that the issue is only with the upload button feature.