2016-05-29 57 views
0

我有一个在base64编码的图像,我试图让它到一个控制器,但无论我尝试什么,参数总是为空。无法获取base64字符串到ASP.NET核心控制器

我正在使用angular的$http服务;

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

而且我想通过一个控制器,通过它...

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

我可以看到,数据显然是在Chrome我的请求头去。但我无法弄清楚它需要什么数据类型。 string不起作用。 IFormFile不起作用。我似乎无法将该死的信息传给控制器。

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

回答

0

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

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

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

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

编辑

尝试添加[FromBody]属性:

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

不幸的是,这是行不通的。它仍然是空的。 – Ciel

+0

我知道base64字符串很好。我可以将它渲染为图像就好了。 – Ciel

+0

我还可以在调试工具的“Request Payload”部分看到字符串。我知道它正在发送。 – Ciel

相关问题