我们可以将图像作为二进制流传递给控制器吗?
<img src="something.png">
这需要使用字节流传递给Controller。
我该如何实施呢?
答案 0 :(得分:0)
首先,您需要使用客户端的以下行获取该图像的字节
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
从ajax传递给控制器string
。
示例:强>
<img id="myimage" src="something.png" />
<canvas width="300" height="300" id="mycanvas" style="display: none;"></canvas>
Ajax代码:
$.ajax({
type: "POST",
url: "YourAction/YourMethod",
data:'{DataUrl:'+ mydataURL +'}',
contentType: "application/json; charset=utf-8",
datatype: "json",
success:function(response){
// alert(response.d); whatever you want to return as message.
}
});
控制器代码
public string YourMethod(string DataUrl){
// your logic
return "Success!!!";
}