C# asp.net核心web api无法从客户端发送对象

C# asp.net核心web api无法从客户端发送对象,c#,asp.net-web-api,client,C#,Asp.net Web Api,Client,这是处理客户端请求的服务器代码 [HttpPost("Add")] public async Task<IActionResult> Add([FromBody]RequestAdd person) { if(person != null){ return Ok("good"); } return Ok("false"); }

这是处理客户端请求的服务器代码

[HttpPost("Add")]
        public async Task<IActionResult> Add([FromBody]RequestAdd person)
        {

            if(person != null){
                return Ok("good");
            }

            return Ok("false");
        }
[HttpPost(“添加”)]
公共异步任务添加([FromBody]RequestAdd person)
{
if(person!=null){
返回Ok(“良好”);
}
返回Ok(“假”);
}
这是我添加到多部分json和图像字节中的客户端post代码

    public Task<HttpResponseMessage> Uploads(Person person, List<FileInfo> files)
            {


            try
            {
                var jsonToSend = JsonConvert.SerializeObject(person, Formatting.None);
                var multipart = new MultipartFormDataContent();

                var body = new StringContent(jsonToSend, Encoding.UTF8, "application/json");
                multipart.Add(body, "JsonDetails");


                foreach (var item in files)
                {
                    var fileContent = new ByteArrayContent(System.IO.File.ReadAllBytes(item.FullName));

                    multipart.Add(fileContent, item.FullName);
                }


                var client = new HttpClient();
                client.BaseAddress = new Uri(BASE_URL);

                return client.PostAsync("Add", multipart);
            }
            catch
            {
                return null;
            }  
        }
公共任务上载(个人,列表文件)
{
尝试
{
var jsonToSend=JsonConvert.SerializeObject(person,Formatting.None);
var multipart=新的MultipartFormDataContent();
var body=newstringcontent(jsonToSend,Encoding.UTF8,“application/json”);
多部分添加(正文,“JsonDetails”);
foreach(文件中的var项)
{
var fileContent=newbytearraycontent(System.IO.File.ReadAllBytes(item.FullName));
添加(fileContent,item.FullName);
}
var client=新的HttpClient();
client.BaseAddress=新Uri(基本URL);
返回client.PostAsync(“添加”,多部分);
}
抓住
{
返回null;
}  
}
我使用此方法的代码有错误

static void Main(string[] args)
                {
                    Method2();
                    Console.ReadLine();
                }

                static void Method2()
                {
                    UploadMultiPart uploadMultiPart = new UploadMultiPart();

                    List<FileInfo> fileInfos = new List<FileInfo>()
                    {
                        new FileInfo(@"C:\asd\full-metal-jacket.png"),
                        new FileInfo(@"C:\asd\full-metal-jacket.png"),
                        new FileInfo(@"C:\asd\full-metal-jacket.png")
                    };

                    Person person = new Person
                    {
                    Name = "Adilbek",
                    SureName = "Ramazanov",
                    Position = "God",
                    Group = "heaven",
                    Phone = 123123
                    };

                var result = loadMultiPart.Uploads(person,fileInfos).Result;
                Console.WriteLine("Status is " + result.StatusCode);
            }
static void Main(字符串[]args)
{
方法2();
Console.ReadLine();
}
静态void方法2()
{
UploadMultiPart UploadMultiPart=新的UploadMultiPart();
List fileInfos=新列表()
{
新的文件信息(@“C:\asd\full metal护套.png”),
新的文件信息(@“C:\asd\full metal护套.png”),
新文件信息(@“C:\asd\full metal jacket.png”)
};
人=新人
{
Name=“Adilbek”,
SureName=“Ramazanov”,
Position=“上帝”,
Group=“天堂”,
电话号码=123123
};
var result=loadMultiPart.Uploads(person,fileInfos.result);
Console.WriteLine(“状态为”+结果.StatusCode);
}
错误代码为状态为UnsupportedMediaType


我不知道如何发送到服务器,请帮助我抱歉我的英语不好

使用[FromForm]属性,而不是[FromBody]属性

    [HttpPost("Add")]
    public async Task<IActionResult> Add([FromForm]RequestAdd person)
    {

        if(person != null){
            return Ok("good");
        }

        return Ok("false");
    }
[HttpPost(“添加”)]
公共异步任务添加([FromForm]RequestAdd person)
{
if(person!=null){
返回Ok(“良好”);
}
返回Ok(“假”);
}

您能告诉我FromForm的使用方法吗?@ost1m1ron-阅读文档:服务器不查看请求Person=null,但fileInfos有一个picture@ost1m1ron-在我的回答中,方法只有一个参数。对于2个参数,您应该创建新方法。