Javascript 无法导入jSignature中的现有数据

Javascript 无法导入jSignature中的现有数据,javascript,jsignature,Javascript,Jsignature,这是我在数据库中保存jSignature值的代码: var datapair = $('.sign-wrapper').jSignature(); datapair.bind('change', function(e){ var data = datapair.jSignature("getData", "svgbase64"); var i = new Image() i.src = "data:" + data[0] + "," + data[

这是我在数据库中保存jSignature值的代码:

var datapair = $('.sign-wrapper').jSignature();
datapair.bind('change', function(e){
        var data = datapair.jSignature("getData", "svgbase64");
        var i = new Image()
        i.src = "data:" + data[0] + "," + data[1];

        $(this).prev('input').val(i.src);
});
因此,我的数据库中有以下值:

data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iODkiIGhlaWdodD0iMTEyIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNIDEgMTExIGMgMC4wNCAtMC4xNCAxLjAyIC01LjQ1IDIgLTggYyAyLjM0IC02LjA4IDUuOSAtMTEuODcgOCAtMTggYyAxLjg2IC01LjQ0IDMuMDkgLTExLjIyIDQgLTE3IGMgMS4xIC02Ljk4IDAuODggLTEzLjk4IDIgLTIxIGMgMS4yNSAtNy44MyAzLjA0IC0xNS4zOSA1IC0yMyBjIDAuNzEgLTIuNzYgMS43NiAtNS41MiAzIC04IGMgMS4wNSAtMi4wOSAyLjUyIC00LjA4IDQgLTYgYyAxLjg5IC0yLjQ2IDMuOTIgLTQuOTIgNiAtNyBjIDAuODEgLTAuODEgMi4yNiAtMi4yMiAzIC0yIGMgMS43NyAwLjUzIDUuMzcgMyA3IDUgYyAyLjM3IDIuOTEgNC40NiA3LjEzIDYgMTEgYyA1LjQ2IDEzLjc5IDkuMzIgMjguNTIgMTUgNDIgYyAyLjIzIDUuMjkgNi4zOCA5Ljc2IDkgMTUgYyAzLjQyIDYuODQgNS43NiAxNC43NiA5IDIxIGwgNCA0Ii8+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTSAyMCA2NCBjIDAuMTEgLTAuMTIgMy43MyAtNS40IDYgLTcgYyAyLjk4IC0yLjEgNy4yMSAtMy44NSAxMSAtNSBjIDcuMDcgLTIuMTQgMTQuNzggLTMuNzEgMjIgLTUgYyAxLjkyIC0wLjM0IDYgMCA2IDAiLz48L3N2Zz4=
因此,在重新加载页面时,我将上面的base64图像数据url放在一个隐藏变量中

我尝试使用以下代码将数据加载到现有签名画布:

// If value exist load existing
      var src = $(this).prev('input').val();
      if(src != '') {
        datapair.jSignature("importData", src);
      }
但它不工作,我在控制台中遇到以下错误:

未捕获错误:jSignature无法找到具有的导入插件 格式为'image/svg+xml;base64'


当插件无法识别您的数据时,就会出现问题

它抛出错误的原因是,“image/svg+xml”格式;导入程序不支持base64,只有导出程序支持它

参考:

我建议您使用base30存储数据,因为它支持导出和导入

var data = datapair.jSignature("getData", "base30 ");

当插件无法识别您的数据时,就会出现问题

它抛出错误的原因是,“image/svg+xml”格式;导入程序不支持base64,只有导出程序支持它

参考:

我建议您使用base30存储数据,因为它支持导出和导入

var data = datapair.jSignature("getData", "base30 ");

好啊如果我将代码更改为`var data=datapair.jSignature(“getData”,“base30”);它会工作吗?是的,您可以使用base30Yes使用getData和setData。。。卡提克。它工作!!!谢谢。。你节省了我的时间。非常感谢,没问题。祝您愉快,但将base30数据打印为图像并不容易。。对吧?好。如果我将代码更改为`var data=datapair.jSignature(“getData”,“base30”);它会工作吗?是的,您可以使用base30Yes使用getData和setData。。。卡提克。它工作!!!谢谢。。你节省了我的时间。非常感谢,没问题。祝您愉快,但将base30数据打印为图像并不容易。。正确的?