Png发布的数据对于PHP来说太大了

时间:2014-02-05 18:47:46

标签: javascript php post

我有像scri.ch这样的画布绘图应用程序。我的问题是,我将canv.toDataURL('image/png')的输出作为POST发送到PHP脚本。但是,当我将这些数据保存到文件时,它们会被切断。我想也许这可能是由max_input_vars的低限制引起的。我把它增加到1.000.000但仍然没有。 JavaScript看起来像这样:

function toPng() {
    document.body.innerHTML += '<canvas id="copyCanvas" width="' + canv.width + '" height="' + canv.height + '"></canvas>';
    var copyCanv = document.getElementById('copyCanvas'),
    copyCtx = copyCanv.getContext('2d');
    copyCtx.fillStyle = backgroundColor;
    copyCtx.fillRect(0, 0, canv.width, canv.height);
    copyCtx.drawImage(canv, 0, 0);

    document.body.innerHTML += '<form id="imageData" method="post"><input type="text" maxlength="100000000" name="imageData" id="imageDataField"><input type="text" name="baseImage" id="baseImageField"></form>';
    var form = document.getElementById('imageData');
    form.action = './res/php.php';
    document.getElementById('imageDataField').value = copyCanv.toDataURL("image/png");
    document.getElementById('baseImageField').value = window.location.search.replace('&img=', '') || '';

    form.submit();
}

当我回送发送的数据时,图像的底部缺失。有什么提示吗?

2 个答案:

答案 0 :(得分:1)

看起来问题是古典<input>有一些内部最大长度限制,不能被破坏,因为textarea和POST ajax都有效。

答案 1 :(得分:0)

您可以获得上传的尺寸吗?如果它相当小,你应该检查你的apache和PHP配置文件。