Извините, что беспокою вас, ребята, но у меня есть проблема, которую я не знаю, как решить, и уже несколько дней просматриваю и пытаюсь найти другое решение.
Итак, я создаю веб-сайт, на котором хочуреализовать пользовательский раздел, когда пользователь может загрузить свое личное изображение в виде профиля изображения.
И здесь возникает проблема, которую я поднимаю, когда я запускаю код, он всегда возвращается как ноль.
Здесьмой контроллер:
[HttpPost]
public async Task<IActionResult> Create(EmployeeCreateViewModel model)
{
if (ModelState.IsValid)
{
string uniqueFileName = null;
if(model.Photo != null)
{
string uploadsFolder = Path.Combine(_hostingEnvironment.WebRootPath, "EmpImg");
uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName;
using(var fs = new FileStream(Path.Combine(uploadsFolder, uniqueFileName), FileMode.Create))
{
await model.Photo.CopyToAsync(fs);
}
}
Employee newEmployee = new Employee
{
Name = model.Name,
Surname = model.Surname,
Email = model.Email,
Area = model.Area,
PhotoPath = uniqueFileName
};
_employeeRepository.Add(newEmployee);
return RedirectToAction("details", new { id = newEmployee.Id });
}
return View();
}
И это мой вид
<form enctype="multipart/form-data" asp-controller="Employee" asp-action="create" method="post">
<div class="form-group row">
<label asp-for="Name" class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<input asp-for="Name" class="form-control" placeholder="Name..." />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
</div>
<div class="form-group row">
<label asp-for="Surname" class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<input asp-for="Surname" class="form-control" placeholder="Surname..." />
<span asp-validation-for="Surname" class="text-danger"></span>
</div>
</div>
<div class="form-group row">
<label asp-for="Email" class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<input asp-for="Email" class="form-control" placeholder="Email..." />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
</div>
<div class="form-group row">
<label asp-for="Area" class="col-sm-2 col-form-label">Location:</label>
<div class="col-sm-10">
<select asp-for="Area" class="custom-select mr-sm-2" asp-items="Html.GetEnumSelectList<Area>()">
<option value="">Please Select..</option>
</select>
<span asp-validation-for="Area" class="text-danger"></span>
</div>
</div>
<div class="form-group row">
<label asp-for="Photo" class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<div class="custom-file">
<input asp-for="Photo" name="Create" class="form-control custom-file-input" />
<label class="custom-file-label">Choose File...</label>
</div>
</div>
</div>
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group row">
<div class="col-sm-2">
<button type="submit" class="btn btn-primary">Create</button>
</div>
</div>
@section Scripts {
<script>
$(document).ready(function () {
$('.custom-file-input').on("change", function () {
var fileName = $(this).val().split("\\").pop();
$(this).next('.custom-file-label').html(fileName);
});
});
</script>
}
</form>
Когда я пытаюсь загрузить IMG в браузер, он не выдает никаких исключений, он просто не загружает изображение вбаза данных и столбец пустые.
Заранее всем благодарен за любую помощь или совет.