我有像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();
}
当我回送发送的数据时,图像的底部缺失。有什么提示吗?
答案 0 :(得分:1)
看起来问题是古典<input>
有一些内部最大长度限制,不能被破坏,因为textarea和POST ajax都有效。
答案 1 :(得分:0)
您可以获得上传的尺寸吗?如果它相当小,你应该检查你的apache和PHP配置文件。