html2canvas save image não funciona

Estou processando uma captura de tela com o html2canvas 0.4.0 e quero salvá-la como imagem no meu servidor da web.

Para fazer isso, escrevi a seguinte função:

JavaScript
function screenShot(id) {

    html2canvas(id, {
        proxy: "https://html2canvas.appspot.com/query",
        onrendered: function(canvas) {

            $('body').append(canvas); // This works perfect...

            var img = canvas.toDataURL("image/png");
            var output = img.replace(/^data:image\/(png|jpg);base64,/, "");

            var Parameters = "image=" + output + "&filedir=" + cur_path;
            $.ajax({
                type: "POST",
                url: "inc/saveJPG.php",
                data: Parameters,
                success : function(data)
                {
                    console.log(data);
                }
            }).done(function() {
            });

        }
    });
}    
saveJPG.php
<?php
    $image = $_POST['image'];
    $filedir = $_POST['filedir'];
    $name = time();

    $decoded = base64_decode($image);

    file_put_contents($filedir . "/" . $name . ".png", $decoded, LOCK_EX);


    echo $name;
?>    

Depois que a tela é renderizada, posso anexá-la perfeitamente ao corpo HTML, mas salvá-la no meu servidor resulta em um arquivo corrompido (?).

Eu posso ler as dimensões no IrvanView, mas a imagem é transparente / vazia? O arquivo tem cerca de 2.076 KB de tamanho. Então não está realmente vazio.

Eu tentei isso com JPEG também e isso resulta em um arquivo corrompido e IrfanView diz algo como "comprimento do marcador falso".

A captura de tela tem as dimensões de 650 x 9633. É para muitos dados para um método POST?

questionAnswers(1)

yourAnswerToTheQuestion