2016-05-29 19 views
0

Base64でエンコードされた画像がありますが、コントローラに取得しようとしていますが、何を試してもパラメータは常にnullになります。ASP.NET Core Controllerにbase64文字列を取得できません

私は角度の$httpサービスを使用しています。

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

そして、私はコントローラを介して、それを渡すようにしようとしている...

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

私はデータがはっきりChromeで私のリクエストヘッダに起こっていることがわかります。しかし、私はそれが必要なデータ型を把握することはできません。 は機能しません。 IFormFileは機能しません。私はちょうどコントローラに気の利いた情報を取得するように見えることはできません。

私はルートが正しいことを知っています。私がデバッグブレークポイントを置くと、それはヒットします。しかし、dataは、私が使用するデータタイプに関係なく、常にnullです。あるべき

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

と、コントローラのメソッドの宣言:

答えて

0

あなたのJSコードは次のようになります

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

EDIT [FromBody]を追加

てみてください属性:

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

残念ながらそれは動作しません。それはまだヌルとして来る。 – Ciel

+0

私はbase64文字列が良いことを知っています。私はイメージとしてそれを上手くレンダリングすることができます。 – Ciel

+0

デバッグツールの 'Request Payload'部分に文字列を見ることもできます。私はそれが送られていることを知っています。 – Ciel

関連する問題