javascript - 在 Oracle 数据库中插入 Signature-Pad

标签 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 数据库。

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

最佳答案

我刚刚发现!

$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);

这是工作。

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

关于javascript - 在 Oracle 数据库中插入 Signature-Pad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47816857/

相关文章:

mysql - upsert 后删除未更新的行

javascript - Yup.string().matches() 在您输入时交替显示有效和无效

PHP - 遍历 $_FILES 以检查文件类型

php - 如果在 php 中的 sql 中插入名称超过 2 次,如何抛出错误?

php - 使用 SQL 和 PHP 进行多重 INSERT/UPDATE

php - 在 mysqli_fetch_object 中使用 foreach 而不是 while

javascript - html5输入的焦点月份或年份[类型="date"]

javascript - 保存 CSS 状态 Jquery Cookie

javascript - 选择标签似乎弄乱了我的 CSS

php - laravel 文件数组存储