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



这是接收客户端请求的服务器代码

[HttpPost("Add")]
public async Task<IActionResult> Add([FromBody]RequestAdd person)
{
if(person != null){
return Ok("good");
}
return Ok("false");
}

这是我添加到多部分json和图像字节的客户端帖子

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;
}  
}

代码在哪里我使用这个方法那里我有错误

static void Main(string[] args)
{
Method2();
Console.ReadLine();
}
static void Method2()
{
UploadMultiPart uploadMultiPart = new UploadMultiPart();
List<FileInfo> fileInfos = new List<FileInfo>()
{
new FileInfo(@"C:asdfull-metal-jacket.png"),
new FileInfo(@"C:asdfull-metal-jacket.png"),
new FileInfo(@"C:asdfull-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);
}

错误代码为Status is UnsupportedMediaType

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

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

[HttpPost("Add")]
public async Task<IActionResult> Add([FromForm]RequestAdd person)
{
if(person != null){
return Ok("good");
}
return Ok("false");
}

相关内容

  • 没有找到相关文章

最新更新