Я изо всех сил пытаюсь добавить свое загруженное изображение в свою таблицу базы данных в первом проекте кода с MVC 5 и EF 6. Каждый ввод, например, Имя файла, Имя, Имя телефона.обновляют базу данных, но я не могу сохранить данные изображения для хранения в моей таблице базы данных.(Опять же, чтобы устранить путаницу, я не пытаюсь сохранить само изображение.)
Я пробовал VarChar (Max) и VarBinary (Max).Я публикую некоторые коды этого конкретного класса в представлениях, контроллере и модели.
Это моя модель, Movie.cs
public byte[] Poster { get; set; }
public string AltText { get; set; }
Мой контроллер:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include =
"MovieID,MoviesName,ReYear,Description,
UnitPrice,Rating,AltText,GenreID")] Movie movie, HttpPostedFileBase
img)
{
if (ModelState.IsValid)
{
if (movie.img.ContentLength > 0)
{
string fileName = Path.GetFileName(movie.img.FileName);
string extension =
Path.GetExtension(movie.img.FileName);
fileName = fileName + DateTime.Now.ToString
("yymmssfff")+ extension;
movie.AltText = "~/Content/Poster/" + fileName;
fileName =
Path.Combine(Server.MapPath("~/Content/Poster"),
fileName);
movie.img.SaveAs(fileName);
using (MovieContext db = new MovieContext())
{
db.Movies.Add(movie);
db.SaveChanges();
}
}
return RedirectToAction("Index");
}
ViewBag.GenreID = new SelectList(db.Genres, "GenreID",
"GenreType", movie.GenreID);
return View(movie);
}
И мой вид:
@model BigHits.Models.Movie
@using (Html.BeginForm("Create", "Movies", null, FormMethod.Post,
new { enctype = "multipart/form-data" }))
<div class="form-group">
@Html.LabelFor(model => model.AltText, htmlAttributes: new { @class
= "control-label col-md-2" })
<div class="col-md-10">
<input type="file" id="img" name="img" />
</div>
</div>
Теперь япоявляется эта ошибка всякий раз, когда я пытаюсь загрузить изображение.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not
set to an instance of an object.
Source Error:
Line 92: string fileName = Path.GetFileName(movie.img.FileName);
Line 93: string extension = Path.GetExtension(movie.img.FileName);