我在PHP / jQuery环境中工作并遇到一个问题,我可以使用一些指导或建议。
我们尝试使用一些jQuery代码将HTML5画布中的图像数据导出为PNG数据,我们将使用这些数据来提供PHP的imagecreatefrompng()函数,以便我们可以将图像保存为文件。我们尝试这样做的方式适用于FF& Chrome,但IE9似乎做得不好。 (去图)
我们的代码如下;
$(document).ready(function() {
function invertCase(inString) {
var outString = "";
for(var i = 0; i < inString.length; ++i) {
var ch = inString.charAt(i);
outString += (ch >= 'A' && ch <= 'Z') ? ch.toLowerCase() : ch.toUpperCase();
}
return outString;
}
$("#sig-canvas").payjunctionSigCap();
$("#draw-sig").click(function() {
var sigVal = $("#signature").val();
if(/^\}[a-z]{8}/m.test(sigVal)) {
sigVal = invertCase(sigVal);
}
$("#sig-canvas").payjunctionSigCap("showScriptel", sigVal);
return false;
});
$("#clear-sig").click(function() {
$("#sig-canvas").payjunctionSigCap("clear");
$("#signature").val("");
return false;
});
$("#signed").click(function() {
var canvas1 = $("#sig-canvas-canvas");
$("#data").val( canvas1.toDataURL("image/png") );
});
});
这就是我得到的数据,当得到的数据最终回到PHP的一圈时。
Warning: imagecreatefrompng(): '/var/www/vhosts/<siteroot>/eSignatures/00Qd000000GzpsLEAR.png' is not a valid PNG file in /var/www/vhosts/<siteroot>/SigPad.php on line 24
Warning: imagepng() expects parameter 1 to be resource, boolean given in /var/www/vhosts/<siteroot>/SigPad.php on line 26
Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /var/www/vhosts/<siteroot>/SigPad.php on line 27
IE9是否正在对数据进行搞砸? 另外,有没有办法让IE向我显示正在生成的数据,如console.log(imgData)?