ASP.NET Web API 2(非核心)是否还包含用于绑定操作的[FromForm]
属性?或者我可以将ASP.NET Core中的dll添加到普通的ASP.NET Web API 2中吗? {
"Message": "The request entity's media type 'multipart/form-data' is not supported for this resource.", "ExceptionMessage": "No MediaTypeFormatter is available to read an object of type 'FooBindModel' from content with media type
'多部分/格式数据“'。, “ExceptionType”:“System.Net.Http.UnsupportedMediaTypeException”, “StackTrace”:“在System.Net.Http.HttpContentExtensions.ReadAsAsync [T](HttpContent) content,Type type,IEnumerable
1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable
1格式化程序,IFormatterLogger formatterLogger,CancellationToken cancellationToken)“}
答案 0 :(得分:0)
不,只有FromUri
和FromBody
可用于ASP.NET Web API 2.您可以查看official documentation。
另外,为什么要尝试将FromForm
实现到ASP.NET Web API 2.您只需将表单操作配置为GET
和POST
,然后将数据传递给Web Api 。在我看来,这将超过工程学。
答案 1 :(得分:0)
我不认为你真正了解这些属性或他们做了什么。 [FromBody]
表示您提供序列化(JSON,XML等)或基本上没有application/x-www-form-urlencoded
mime类型(图像或其他文件类型)的任何其他内容。如果您将正常的表单帖子(application/x-www-form-urlencoded
请求正文)发送到标记为[FromBody]
的参数,当然它不会绑定,因为您明确告诉它除了你发送的东西之外,它应该是期待的东西。
像[FromForm]
这样的东西实际上是无用的,因为默认是期望application/x-www-form-urlencoded
,这就是这个属性所能做到的。无论多长时间,都不要用任何东西来装饰你的动作参数。