无法在服务器上将HTML5 Canvas另存为Image

时间:2016-01-13 09:30:38

标签: javascript php html html5 canvas

我知道之前曾问过类似的问题,但没有人帮助过我。投票

我写了一些JavaScript,允许用户以draw使用不同的颜色和笔大小canvas。我想将canvas上传到我的服务器

这是我的 index.html

    <html>
  <head>
  </head>
  <body>
     <canvas id="canvas"></canvas>
     <button id="button_clear" onclick="test()">Clear/upload canvas</button>

<script>
function test(){
var canvas  = document.getElementById("canvas");
var dataURL = canvas.toDataURL();
$.ajax({
  type: "POST",
  url: "script.php",
  data: {
     imgBase64: dataURL
  }
}).done(function(o) {
  console.log('saved');
});
}
</script>

 

的script.php:

<?php
    // requires php5
    //define('UPLOAD_DIR', 'FBdraw/');
    $img = $_POST['imgBase64'];
    $img = str_replace('data:image/png;base64,', '', $img);
    $img = str_replace(' ', '+', $img);
    $data = base64_decode($img);
    $file = UPLOAD_DIR . uniqid() . '.png';
    $success = file_put_contents($file, $data);
    print $success ? $file : 'Unable to save the file.';

?>

当我刷新script.php页面时,它会保存一个空的0 kB image

0 个答案:

没有答案