0

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

4

0 回答 0