如何使用ajax将文件输入发送到OdataController。 OdataController是使用模型生成的。我对使用FormData或对象数据感到困惑。我已经使用了这些,但仍然没有将参数传递给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);
}