相关疑难解决方法(0)

无法为内容类型multipart配置Web API

我正在使用Web API - Web API 2.我的基本需求是创建一个API来更新用户的配置文件.在这里,ios和android会以multipart/form-data的形式向我发送请求.他们会向我发送一些图像参数.但每当我尝试创建API时,我的模型每次都变为null.

我在WebApiConfig中添加了这一行:

config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("multipart/form-data"));
Run Code Online (Sandbox Code Playgroud)

这是我的班级:

public class UpdateProfileModel
{
   public HttpPostedFileBase ProfileImage { get; set; }
   public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

[Route("api/Account/UpdateProfile")]
[HttpPost]
public HttpResponseMessage UpdateProfile(UpdateProfileModel model)
{
}
Run Code Online (Sandbox Code Playgroud)

我甚至没有在我的模型中获取参数值.难道我做错了什么 ?

没有与此相关的答案对我有帮助.它大约第3天,我已经尝试了几乎所有的方法.但我无法实现它.

虽然我可以使用它,但如下所示,但这似乎不是一个好方法.所以我避免它..

var httpRequest = HttpContext.Current.Request;
if (httpRequest.Form["ParameterName"] != null)
{
    var parameterName = httpRequest.Form["ParameterName"];
}
Run Code Online (Sandbox Code Playgroud)

对于文件,我可以这样做:

if (httpRequest.Files.Count > 0)
{
     //i can access my files here and save them
}
Run Code Online (Sandbox Code Playgroud)

如果您有任何好的方法,请帮助或者请解释我为什么我无法在模型中获得此值.

非常感谢提前

c# asp.net-web-api asp.net-mvc-5 asp.net-web-api2

17
推荐指数
3
解决办法
6860
查看次数