ウェブカメラから取得した画像を含むキャンバスがあります。ポストバックを回避しながら、その画像をサーバーに送信したいと考えています。(ポストバックを使用すると、クライアントは画像を保存するたびにウェブカメラの使用を検証する必要があり、私はそれを望んでいません.:()
Jスクリプトはこちら
function sendPicture() {
event.preventDefault();
var b64 = document.getElementById("canvas").toDataURL("image/png");
b64 = b64.replace('data:image/png;base64,', '');
PageMethods.SaveImage(b64, success, error);
}
function success()
{ console.log("hoorah"); }
function error()
{ console.log("boo"); }
これはまだ書かれていないコードビハインドですが、とにかく内部に到達することはないので問題ありません。
[WebMethod]
public static bool SaveImage(string image)
{
return false;
}
b64 が長すぎるため、コードは WebMethod に到達しません。(2000字以上) やってみた
var imgObj = new Image();
imgObj.src = b64;
PageMethods.SaveImage(imgObj, success, error);
機能していません。
助けてください。:(
編集:ページのhtmlを入れるのを忘れました
<div class="formRow">
<input type="button" id="snap" value="Prendre photo" />
<input type="button" id="send" value="Enregistrer Photo" />
<br />
<video id="video" width="320" height="240" autoplay></video>
<canvas id="canvas" width="320" height="240"></canvas>
</div>