将RGraph图表保存到本地计算机

时间:2015-07-10 15:25:29

标签: php rgraph

我在将图像保存到本地文件时遇到问题。其他所有东西看起来都不错,但图像不会只是保存。这是我的代码片段。

datab.update(MyTable.TABLE_NAME, cv, null, null);

这是ajxstuff.php

    function saveImage(){
    var xmlhttp;
    xmlhttp=((window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));
    xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            //do something with the response
        }
    }
    xmlhttp.open("POST","ajxstuff.php",true);
    var oldCanvas = document.getElementById('cvs').toDataURL("image/png");
    var img = new Image();
    img.src = oldCanvas;
    xmlhttp.setRequestHeader("Content-type", "application/upload")
    xmlhttp.send(oldCanvas);
}

1 个答案:

答案 0 :(得分:0)

好的,这是我的修改后的答案:您可以不将图像作为(看起来像)文件发送,而是将其作为文本发送 - 因为这是您从toDataUrl()获得的内容(a base64编码的图像表示。)

$.post('ajxstuff.php',{
    myChart: document.getElementById('cvs').toDataURL()
}, function ()
{
    /* callback */
})

在您的PHP脚本中,数据会显示在$ _POST [' myChart']中 - 您可以将其写入这样的文件:

<?php
    $data = base64_decode($_POST['myChart']);
    file_put_contents('C:\Users\Administrator\Downloads\image009.png', $data);
?>