无法将base64字符串转换为ASP.NET Core Controller

时间:2016-05-29 17:06:53

标签: c# asp.net angularjs asp.net-core

我有一个用base64编码的图像,我试图将它送到控制器,但无论我尝试什么,参数总是为空。

我正在使用角色$http服务;

$http.post('url', base64string);

我试图通过控制器传递它......

[HttpPost("submit/image")]
public async Task<IActionResult> SubmitImageData(byte[] data) {
      // ...
}

我可以看到Chrome中的数据显示在我的请求标题中。但我无法弄清楚它需要什么样的数据类型。 string不起作用。 IFormFile不起作用。我似乎无法向控制器提供该死的信息。

我知道路线是对的。如果我放置一个调试断点,它就会命中它。但无论我使用何种数据类型,data始终为null

1 个答案:

答案 0 :(得分:0)

你的JS代码应该是这样的:

$http.post('url', { data: base64string });

并且控制器方法的声明应该是:

public async Task<IActionResult> SubmitImageData(string data) {

修改

尝试添加[FromBody]属性:

public async Task<IActionResult> SubmitImageData([FromBody] string data) {