相关疑难解决方法(0)

使用HttpClient将字节数组发布到Web API服务器

我想将此数据发布到Web API服务器:

public sealed class SomePostRequest
{
    public int Id { get; set; }
    public byte[] Content { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

将此代码用于服务器:

[Route("Incoming")]
[ValidateModel]
public async Task<IHttpActionResult> PostIncomingData(SomePostRequest requestData)
{
    // POST logic here
}
Run Code Online (Sandbox Code Playgroud)

这个 - 对于客户:

var client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:25001/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
    new MediaTypeWithQualityHeaderValue("application/json"));

var content = new FormUrlEncodedContent(new Dictionary<string, string>
{
    { "id", "1" },
    { "content", "123" }
});

var result = await client.PostAsync("api/SomeData/Incoming", content);
result.EnsureSuccessStatusCode();
Run Code Online (Sandbox Code Playgroud)

一切正常(至少,调试器在断点处停止PostIncomingData).

由于有一个 …

c# asp.net-web-api dotnet-httpclient asp.net-web-api2

26
推荐指数
3
解决办法
5万
查看次数