Отправка файла через Ajax в Odata POST - PullRequest
0 голосов
/ 01 июля 2019

Как отправить входной файл с помощью ajax в OdataController. OdataController генерируется с использованием модели. Я запутался в использовании FormData или объекта Data. Я уже использую те, но все еще ничего не передавая param к контроллеру Odata POST. И что мне следует использовать contentType, cache, enctype, contentType, processData Примечание: я не хочу менять параметры моего контроллера. Пожалуйста, не меняйте параметр в контроллере

Javascript:

function insertData() {
  var formData = new FormData();
  formData.append('photo', $('#PhotoInput')[0].files[0]);
  formData.append('EmployeeName', $('#txtName').val());
  var data = {
    EmployeeName: $('#txtName').val(),
    Photo: $('#PhotoInput')[0].files[0]
  }
  $.ajax({
    method: "POST",
    url: routePath + "odata/OdataEmployees",
    processData: false,
    //contentType: false,
    //cache: false,
    //enctype: 'multipart/form-data',
    //contentType: "application/json;odata=verbose",
    data: data,
    success: function (response) {
    }

Контроллер

// POST: odata/OdataEmployees
public IHttpActionResult Post(Employee employee)
{
  if (!ModelState.IsValid) 
    return BadRequest(ModelState);
  db.Employees.Add(employee);
  db.SaveChanges();
  return Created(employee);
}
...