如何解码图像并将其保存到 pl sql 中的数据库中?

问题描述 投票:0回答:0

问题 sqldeveloper:无法从二进制流中解码图像。

我发送的信息来自上传的图像,它的 src 属性以这种方式编码:blob:https://domain/e0bac53c-1151-4142-a258-84deb37b2a42,使用 ajax 调用 javascript 并在pl sql 我正在尝试将图像保存到 oracle 数据库中,但未正确解码:

我正在发送 pl sql 代码来向您展示如何在 oracle 数据库中插入图像:

DECLARE

v_blob_url CLOB := :P8_IMAGE_BEFORE_RESIZING;
v_raw RAW (32767);
v_binary BLOB;
v_image_before BLOB;

BEGIN

   v_blob_url := SUBSTR (v_blob_url, INSTR (v_blob_url, ':') + 1);
    v_raw := UTL_ENCODE.BASE64_DECODE (UTL_RAW.CAST_TO_RAW (v_blob_url));

    DBMS_LOB.CREATETEMPORARY (v_binary, TRUE);
    DBMS_LOB.WRITEAPPEND (v_binary, SYS.DBMS_lob.getlength (v_raw), v_raw);

    INSERT INTO UPLOAD_IMAGES (ID, IMAGE_BEFORE) VALUES (UPLOAD_IMAGES_SEQ.nextval, EMPTY_BLOB())
    RETURNING IMAGE_BEFORE INTO v_image_before;
    DBMS_LOB.WRITE (v_image_before, LENGTH(v_binary), 1, v_binary);

    COMMIT;

    apex_json.open_object;  
    apex_json.write('success', true);  
    apex_json.close_object; 
END;

响应返回 200 但图像未显示。

oracle image plsql oracle-sqldeveloper decode
© www.soinside.com 2019 - 2024. All rights reserved.