다음 POST를 보낼 때 서버에서 계속 500 (내부 서버 오류)이 발생합니다. dataUrl을 단순 문자열 'xxxxx'로 바꿀 때 오류가 없습니다.
다음은 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] 삭제
몇 마디 만하겠습니다