我正在尝试将一个base64图像从View发送到Controller。
我将base64存储在输入中,我得到它(工作正常):
var photoBase64Captured = $('#txtPhotoBase64Captured').val();
然后在我的View
,我打电话给Controller
并等待回应:
$.get("@Url.Action("CheckFace", "User")", { base64: photoBase64Captured }, function (data) {
var result = $.parseJSON(data);
if (data != null) {
}
});
当我尝试呼叫控制器时,我在Chrome的控制台中收到以下错误:
Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR
这是Controller
:
public async Task<ActionResult> CheckFace(string base64)
{
}
任何想法为什么会这样? base64太长了,无法发送到Controller
?
如果我将其他值发送到Controller它可以正常工作,所以这不是方法的问题。
在这种情况下,您需要使用post。图像base64到大的Get请求。
$.post("@Url.Action("CheckFace", "User")", { base64: photoBase64Captured }, function (data) {
var result = $.parseJSON(data);
if (data != null) {
}
});
[HttpPost]
public async Task<ActionResult> CheckFace(string base64)
{
}