1

を介してブロブ データを送信していXhrます。しかし、コントローラーでブロブデータを取得していません

私は次のようなコードを書きました:

var url = "Home/Content"
var oReq = new XMLHttpRequest();
oReq.open("POST", url, true);
var blob = new Blob(['abc123'], {type: 'text/plain'}); 
oReq.send("data="+blob);

コントローラーでは、次のように定義しました:

public ActionResult Content(string data)
{
  return Json("suc", JsonRequestBehavior.AllowGet);
}

しかし、data私が取得しているのはnullです。私が間違っていること。

4

2 に答える 2

0

私はこの問題を解決しました。バイナリ データを mvc コントローラー メソッドに送信しており、そのメソッドでバイナリ値を文字列として取得しています。保存アプローチを使用する場合は、これが問題の主な原因であることに注意してください。

var fileContent = window.btoa(blob);

oReq.send(JSON.stringify({data: fileContent}));

サーバー側の方法で

byte[] fileByte = Convert.FromBase64String(fileContent);
于 2015-07-09T05:48:27.317 に答える