Javascript 通过Ajax将图像作为字节流传递给控制器-Mvc4

Javascript 通过Ajax将图像作为字节流传递给控制器-Mvc4,javascript,ajax,image,asp.net-mvc-4,Javascript,Ajax,Image,Asp.net Mvc 4,我们可以将图像作为二进制流传递给控制器吗 <img src="something.png"> 这需要使用字节流传递给控制器 如何实现这一点?首先,您需要使用客户端下面的行获取该图像的字节 var myImage = document.getElementById('myimage'); var myCanvas = document.getElementById('mycanvas'); var ctx = myCanvas.getContext('2d'); ctx.dr

我们可以将图像作为二进制流传递给控制器吗

<img src="something.png">

这需要使用字节流传递给控制器


如何实现这一点?

首先,您需要使用客户端下面的行获取该图像的字节

var myImage = document.getElementById('myimage');
var myCanvas = document.getElementById('mycanvas');

var ctx = myCanvas.getContext('2d');

ctx.drawImage(myImage, 0, 0);

var mydataURL=myCanvas.toDataURL('image/png');
mydataURL
作为
string
从ajax传递给控制器

示例:

<img id="myimage" src="something.png" />
<canvas width="300" height="300" id="mycanvas" style="display: none;"></canvas>
控制器代码

public string YourMethod(string DataUrl){
  // your logic
 return "Success!!!";
}

您不应该使用ajax,而应该阅读文件数据服务器端。@Musa,谢谢您的回复。。但要求就像我提到的那样。因此,我需要一个可能的解决方案。您需要做的是将图像数据作为
blob
获取并上传。@Musa可以用示例代码对此进行简要解释吗?@Musa,我已经看过了“blob”,它支持IE 10及更高版本。它不支持IE9。我也需要它来支持这一点。。
public string YourMethod(string DataUrl){
  // your logic
 return "Success!!!";
}