0

我使用以下代码将我的画布作为 png 保存到服务器:现在,我想用 js 或 jquery 替换 php,但我不知道用 base64 解码来做到这一点。

文件夹:imgs

HTML:带有 id="save" 的链接以打开带有下载链接的缩略图

Javascript:

    $("#save").click(function () {
        $("#result").html("<img src=" + d.toDataURL() + ' /><br /><a href="#" id="get" class="minimal" >Download This</a>');
        $("#data").val(d.toDataURL());
        $("#get").click(function () {
            $("#frm").trigger("submit")
        })
    });
    $("#clear").click(function () {
        e.fillStyle = "#fff";
        e.fillRect(0, 0, d.width, d.height);
        e.strokeStyle = "red";
        e.fillStyle = "red"
    })
})

function saveRestorePoint() {
    var oCanvas = document.getElementById("can");
    var imgSrc = oCanvas.toDataURL("image/png");
    restorePoints.push(imgSrc);
}

PHP:

<?php
if (isset($_POST['data'])) {

    $data = $_POST['data'];

    //removing the "data:image/png;base64," part
    $uri = substr($data, strpos($data, ",") + 1);

    $filenamex = time();

    $filename = 'imgs/' . $filenamex . '.png';

    // put the data to a file
    file_put_contents($filename, base64_decode($uri));
    ///*
    //force user to download the image
    if (file_exists($filename)) {
            // We'll be outputting a PNG
            header('Content-type: image/png');
            // It will be called wow.png
            header('Content-Disposition: attachment; filename="' . $filename . '"');
            // The PDF source is in wow.png
            readfile($filename);
            exit();
    }
}
?>
4

0 回答 0