Загрузить изображение в input из бд (IFormFile) ASP NET CORE

Всем привет. Есть CRUD система со статьями, у статьи есть фото. Фото загружается в БД и в папку root проекта. При создании статьи все окей, но при обновлении фото = null. И по дефолту его нет, то есть пользователю всегда надо будет его загружать. Как сделать так, что бы взять файл из бд и поместить его в этот input? Конечно можно сделать и по другому, проверять на null и давать путь до загруженной картинки. Возможно, есть решение попроще.

Метод загрузки изображения.

        string wwwRoothPath = _hostEnvironment.WebRootPath; //получаем путь до root
        string filename = Path.GetFileNameWithoutExtension(model.ImageFile.FileName); //получаем название файла
        string extension = Path.GetExtension(model.ImageFile.FileName); //получаем разрешение файла
        model.ImageName = filename = filename + DateTime.Now.ToString("yymmssfff") + extension;
        string path = Path.Combine(wwwRoothPath + "/Images/", filename);

        using (var fileStream = new FileStream(path, FileMode.Create))
            {
                model.ImageFile.CopyTo(fileStream);
            }

Код формы

        <div class="form-group">
            <label asp-for="ImageFile">Превью</label>
            <input asp-for="ImageFile" accept="image/*" />
            <span asp-validation-for="ImageFile" class="text-danger"></span>
        </div>

При нажатии на кнопку "обновить" - форма будет ругаться, ибо превью обязательно. Проблема в том, что файл не выбран и я не знаю как туда его запихать, допустим из БД. Извиняюсь за "многослов".

Превью

update. Добавил код метода Update.

        //Get метод
        public IActionResult Update(int id)
        {
            var article = _context.Articles.FirstOrDefault(article => article.Id == id);
            return View(article);
        }

        [HttpPost]
        public IActionResult Update(Article model)
        {
            if (ModelState.IsValid)
            {
                var oldModel = _context.Articles.FirstOrDefault(article => article.Id == model.Id);

                oldModel.Title = model.Title;
                oldModel.Description = model.Description;

                //Если загружаем новое превью..
                string wwwRoothPath = _hostEnvironment.WebRootPath;
                string filename = Path.GetFileNameWithoutExtension(model.ImageFile.FileName);
                string extension = Path.GetExtension(model.ImageFile.FileName);
                oldModel.ImageName = filename = filename + DateTime.Now.ToString("yymmssfff") + extension;
                string path = Path.Combine(wwwRoothPath + "/Images/", filename);
                using (var fileStream = new FileStream(path, FileMode.Create))
                {
                    model.ImageFile.CopyTo(fileStream);
                }

                _context.Articles.Update(oldModel);
                _context.SaveChanges();
                return RedirectToAction(nameof(Articles));
            }
            return View(model);
        }

Ответы (0 шт):