我在 ApiController 类中有以下 Web API 方法:
public HttpResponseMessage Post([FromBody]byte[] incomingData)
{
...
}
我希望 incomingData
成为 POST 的原始内容。但似乎 Web API 堆栈尝试使用 JSON 格式化程序解析传入数据,这导致客户端的以下代码失败:
new WebClient().UploadData("http://localhost:15134/api/Foo", new byte[] { 1, 2, 3 });
有没有简单的解决方法?
最佳答案
对于遇到此问题的任何其他人,解决方案是定义不带参数的 POST 方法,并通过 Request.Content
访问原始数据:
public HttpResponseMessage Post()
{
Request.Content.ReadAsByteArrayAsync()...
...
关于c# - 从 Web API 方法获取原始 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13226817/