Oracle blob型別資料轉換成 base64編碼

哎呀我的天吶發表於2019-06-15

需求大概是這樣的

base64編碼列表的Json格式字串,圖片檔案格式是jpg,形如:

"[{"employ_files": "/9j/4AAQSkZJRgABAQEAYABgAAD"},{"employ_files": "/9j/4AAQSkZJRgABAQEAYABgAAD"}]"

其中employ_files是必填子項 



CREATE OR REPLACE FUNCTION base64encode(p_blob IN BLOB)
  RETURN CLOB
-- -----------------------------------------------------------------------------------
-- File Name    : 
-- Author       : Tim Hall
-- Description  : Encodes a BLOB into a Base64 CLOB.
-- Last Modified: 09/11/2011
-- -----------------------------------------------------------------------------------
IS
  l_clob CLOB;
  l_step PLS_INTEGER := 12000; -- make sure you set a multiple of 3 not higher than 24573
BEGIN
  FOR i IN 0 .. TRUNC((DBMS_LOB.getlength(p_blob) - 1 )/l_step) LOOP
    l_clob := l_clob || UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(DBMS_LOB.substr(p_blob, l_step, i * l_step + 1)));
  END LOOP;
  RETURN l_clob;
END;
/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-2647745/,如需轉載,請註明出處,否則將追究法律責任。

相關文章