C# 此资源不支持“多部分/表单数据”
我有WEbAPI2后端 我尝试从邮递员那里发送表单数据 但是你会得到这个错误 没有MediaTypeFormatter可用于从媒体类型为“multipart/form data”的内容中读取类型为“StartWorkingDay”的对象 这是我的控制器的代码C# 此资源不支持“多部分/表单数据”,c#,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-web-api,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Web Api,我有WEbAPI2后端 我尝试从邮递员那里发送表单数据 但是你会得到这个错误 没有MediaTypeFormatter可用于从媒体类型为“multipart/form data”的内容中读取类型为“StartWorkingDay”的对象 这是我的控制器的代码 // POST: api/StartWorkingDays [ResponseType(typeof(StartWorkingDay))] public IHttpActionResult PostStartWorkingDay(Start
// POST: api/StartWorkingDays
[ResponseType(typeof(StartWorkingDay))]
public IHttpActionResult PostStartWorkingDay(StartWorkingDay startWorkingDay)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.StartWorkingDays.Add(startWorkingDay);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = startWorkingDay.Id }, startWorkingDay);
}
当我通过原始数据发送时,一切正常
如何使其接收多部分/表单数据?取自
应用程序/x-www-form-urlencoded
表单数据编码为名称/值对,类似于URI查询字符串。这是POST的默认格式
多部分/表单数据
表单数据编码为多部分MIME消息。如果要将文件上载到服务器,请使用此格式
使用enctype x-www-form-urlencoded,而不是postman中的表单数据选择postman中的表单数据。添加键startWorkingDay,并在必要的函数中反序列化请求参数。而且,你完成了 代码:
似乎您正在发布错误的操作方法URL。检查您的$.ajax或$http请求,也许您只需要一个GET方法,或者您需要为ajax请求设置内容类型:application/json headerapp@TetsuyaYamamotoHave是否将HttpPostedFileBase占位符用于Web API控制器而不是MVC控制器?您需要为Web API使用HttpContext.Current.Request.Files,或者将其放入WebApiConfig.cs:config.Formatters.XmlFormatter.SupportedMediaTypes.Addnew System.Net.Http.Headers.MediaTypeHeaderValuemultipart/form data;中;。
// POST: api/StartWorkingDays
[System.Web.Http.AcceptVerbs("POST")]
[System.Web.Http.HttpPost]
[ResponseType(typeof(StartWorkingDay))]
public IHttpActionResult PostStartWorkingDay()
{
var startWorkingDay = JsonConvert.DeserializeObject<StartWorkingDay>(HttpContext.Current.Request.Form["startWorkingDay"]);
//if (!ModelState.IsValid)
//{
// return BadRequest(ModelState);
//}
db.StartWorkingDays.Add(startWorkingDay);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = startWorkingDay.Id }, startWorkingDay);
}
[1]: https://i.stack.imgur.com/AF5YH.png