Сохранение рисунка холста в виде файла изображения на сервере

Я хочу использовать Ajax для сохранения изображения, полученного с веб-камеры, в папку "~/Images" на сервере. У меня есть элементы видео и изображения следующим образом:

HTML:

    <div class="col-md-4">
        <div class="form-group">
            <div class="camera">
                <video id="video">Video stream not available.</video>
                <button id="startbutton">Take Photo</button>
            </div>
        </div>
    </div>
    <div class="col-md-4">
        <div class="form-group">
            <canvas id="canvas">
            </canvas>
            <div class="output">
                <img id="photo" alt="The screen capture will appear in this box." />
            </div>
        </div>

    </div>

Javascript:

 function takepicture() {
var context = canvas.getContext('2d');
  context.drawImage(video, 0, 0, 320, 200);    
  var data = canvas.toDataURL('image/png');
  photo.setAttribute('src', data);
  alert("In");
  $.ajax({
      type: 'POST',
      url: '@Url.Action("SaveAsImageFile", "Customers")',
      data: '{ "data" : "' + data + '" }',
      contentType: 'application/json; charset=utf-8',
      dataType: 'json',
      success: function (msg) {
          alert('Image saved on the server!');
      }

  });}

Сторона сервера:

[WebMethod]
    public static void SaveAsImageFile(string data)
    {
        Guid id = Guid.NewGuid();
        string path = System.Web.HttpContext.Current.Server.MapPath("~/Images/MyImage.png");
        byte[] binaryData = Convert.FromBase64String(data);
        FileStream file = new FileStream(path, FileMode.Create);
        BinaryWriter bw = new BinaryWriter(file);
        bw.Write(binaryData);
        bw.Close();
    }

Изображение не сохраняется. Что мне не хватает? Ваша помощь оценена заранее.

Спасибо.

0 ответов

Другие вопросы по тегам