在Oracle数据库中插入Signature-Pad

时间:2017-12-14 15:27:12

标签: javascript php sql oracle base64

我在签名板上遇到了问题:Github signature-pad

当我的签名太胖时,我无法将其保存在我的数据库中。

我的字段是BLOB类型。我将签名存储在base64中。

我插入了base64签名,如下所示:

INSERT INTO MY_TABLE(ID, SIGNATURE) values (1, utl_encode.base64_decode(utl_raw.cast_to_raw('iVBORw0KGgoAAAANSUhEUgAAAZAAAADICAYAAADGFbfiAAAcaklEQVR4nO3dzYrdyB[...]AASUVORK5CYII=')));

这是一个oracle 11G数据库。

您有任何解决方案,或者您知道如何降低图片质量或其他任何可以减小文件大小的内容。

1 个答案:

答案 0 :(得分:0)

我刚发现!

$sql = "INSERT INTO MY_TABLE(id, signature)
        VALUES (1, EMPTY_CLOB())
        RETURNING signature INTO :signature";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":signature", $clob, -1, OCI_B_BLOB);
oci_execute($stid, OCI_NO_AUTO_COMMIT);
$clob->save(base64_decode($mySignatyure);

oci_commit($conn);

这是有效的。

仅仅为此进行了一天的研究..