【发布时间】:2018-06-19 07:16:20
【问题描述】:
如何在 .net 核心的 WebAPI 控制器中接受一个字节[]。如下所示:
[HttpPost]
public IActionResult Post(byte[] rawData)
{
try
{
System.Diagnostics.Trace.WriteLine("Total bytes posted: " + rawData?.Length);
return StatusCode(200);
}
catch(Exception ex)
{
return StatusCode(500, $"Error. msg: {ex.Message}");
}
}
从提琴手进行测试时,我收到 415 Unsupported Media Type 错误。 这在.net core webapi中甚至可能吗?我已经搜索了一段时间,没有.net核心的解决方案。有一些 BinaryMediaTypeFormatter 示例不适用于 .net 核心 webapi。如果 webapi 无法做到这一点,那么在 .net 核心 Web 应用程序中接受字节数组的最佳解决方案是什么?
我们的旧应用程序是一个 asp.net 表单应用程序。它将调用 Request.BinaryRead() 来获取字节数组并处理数据。我们正在将此应用程序迁移到 .net 核心。
谢谢。
【问题讨论】:
-
另一种方法可能是接受一个表示字节数组的字符串并在控制器端点中处理它。
-
@DavidL 我确实探索了这个选项,但这对于我的情况来说不是一个可能的解决方案。我们不能要求客户最终更改任何内容。
标签: c# asp.net-core asp.net-core-webapi