У меня есть веб-приложение со многими слоями (DAL, BLL, SL, UI), каждый слой в отдельном проекте.
Я использую веб-API на уровне представления (UI), используя ajax,где я использую одностраничное приложение.
Пример: в действии index в домашнем контроллере на уровне представления (UI) ссылается только на представление:
public class MaCityController : Controller
{
public IActionResult Index()
{
return View("~/Views/Mainten/MasterFile/MaCity/Index.cshtml");
}
}
и в этом представлении я делаюмоя операция CRUD с использованием Web API и Ajax:
function Add() {
var NameAr = $('#NameAr').val();
var NameEn = $('#NameEn').val();
var Image = $('#FileName').val();
var newData = new Object();
newData.NameAr = NameAr;
newData.NameEn = NameEn;
newData.Image=Image;
$.ajax({
type: "POST",
url: APIURL + "api/MaCity/Add",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(newData),
success: function () {
$('#myModal').modal('hide');
debugger;
loadData();
},
failure: function (data) {
alert(data.statusText);
},
error: function (data) {
alert(data.statusText);
}
});
}
}
Мой код публикации в Sl как
[HttpPost]
public IActionResult Add(City scItem)
{
_unitOfWork.GetRepository<City>().Add(scItem);
_unitOfWork.SaveChanges();
return Ok();
}
Где api В другом приложении с портом, отличным от уровня представления (UI), и любым другимс базой данных происходит в SL (нет сделки с данными в пользовательском интерфейсе).
Мне нужно загрузить изображение на сервер и сохранить (URL сервера изображений) в базе данных.
Я прочитал много статейно я не могу найти решение, чтобы решить мою проблему.
Любая помощь?