如何在asp.net mvc中通过xmlhttprequest发送blob数据

本文关键字:xmlhttprequest 发送 blob 数据 asp net mvc | 更新日期: 2023-09-27 18:12:41

我正在通过Xhr发送blob数据。但我没有得到blob数据在控制器

我写了这样的代码:
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是空的。我做错了什么

如何在asp.net mvc中通过xmlhttprequest发送blob数据

我已经解决了这个问题。你将二进制数据发送给mvc控制器方法在该方法中你将获得二进制值作为字符串请注意这是问题的主要原因如果你想使用保存方法你应该使用

var fileContent = window.btoa(blob);
oReq.send(JSON.stringify({data: fileContent}));
在你的服务器端方法 中
byte[] fileByte = Convert.FromBase64String(fileContent);

客户端变化

oReq.send("data="+blob);

oReq.send(blob);

服务端/控制器

public ActionResult Upload()
{
    var r = Request;
    byte[] ba = r.BinaryRead(r.ContentLength);
   ...
 }

JavaScript可以传输二进制数据。看到这里。

基本上是二进制数据发送&收到,没有名称/变量