我在 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)?