发送以下POST时,我不断从服务器获取500(内部服务器错误)。用简单的字符串“ xxxxx”替换dataUrl时,没有错误。
这是AJAX代码:
function takepic()
{
var canvas = document.createElement('canvas');
var video = document.getElementById('myVideo');
canvas.width = 640;
canvas.height = 480;
var ctx = canvas.getContext('2d');
//draw image to canvas. scale to target dimensions
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
//convert to desired file format
var dataUrl = canvas.toDataURL('image/png').replace('data:image/png;base64,', '');
$.ajax({
type: "POST",
url: "MyPage.aspx/UploadImage",
data: '{ "imageData" : "' + dataUrl + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
}
});
}
这是服务器代码:
[WebMethod]
public static void UploadImage(string imageData)
{
byte[] data = Convert.FromBase64String(imageData);
}
通过将web.config更改为以下内容来解决:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000"/>
</webServices>
</scripting>
</system.web.extensions>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句