[ad_1]
我在 HttpResponseMessage 中收到 HTTP 错误 415 不支持的媒体类型。
如何让服务器端代码正常工作?
HTTPClient 用于发布字节数组数据,如下……
使用(HttpClient c = new HttpClient()
{
c.DefaultRequestHeader.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/octet-stream)
字节[] 数据 = 新字节 { 0x00, 0x01, 0x02… };
HttpResponseMessage r=await c.PostAsync(“http://abc.com/api/File/Filename”, new ByteArrayContent(Data);
if(r.IssuccessStatusCode) 返回 true;
返回假;
}
服务器端(MVC/Razor)接收字节数组如下
[HttpPost(“{Filename}”)]
公共异步任务
{
MemoryStream ms=new MemoryStream((int)Request.Body.Length);
等待 Request.Body.CopyToAsync(ms);
字节[] b=ms.ToArray(); ms.close();
File.WriteAllBytesAsync(“Data.bin”, b);
返回b.长度;
}
我尝试过的:
在 Windows 10 Pro 工作站上运行的 Visual Studio 2017 下编译
解决方案1
你可以像这样简单地做到这一点
[HttpPost] public void Post(byte[] bytes) { //your code }
Web API 很好地处理字节数组作为输入参数
[ad_2]
コメント