--BASE64转图片
CREATE OR REPLACE FUNCTION DECODE_BASE64(P_CLOB_IN IN CLOB) RETURN BLOB IS
V_BLOB BLOB;
V_OFFSET INTEGER;
V_TEM_CLOB CLOB;
V_BUFFER_VARCHAR VARCHAR2(32000);
V_BUFFER_RAW RAW(32000);
V_BUFFER_SIZE BINARY_INTEGER := 32000;

BEGIN

IF P_CLOB_IN IS NULL THEN
RETURN NULL;
END IF;

DBMS_LOB.CREATETEMPORARY(V_BLOB, TRUE);

V_OFFSET := 1;
FOR I IN 1 .. CEIL(DBMS_LOB.GETLENGTH(P_CLOB_IN) / V_BUFFER_SIZE) LOOP
DBMS_LOB.READ(P_CLOB_IN, V_BUFFER_SIZE, V_OFFSET, V_BUFFER_VARCHAR);
V_BUFFER_RAW := UTL_ENCODE.BASE64_DECODE(UTL_RAW.CAST_TO_RAW(V_BUFFER_VARCHAR));
DBMS_LOB.WRITEAPPEND(V_BLOB,
UTL_RAW.LENGTH(V_BUFFER_RAW),
V_BUFFER_RAW);
V_OFFSET := I*V_BUFFER_SIZE+1;
END LOOP;
RETURN V_BLOB;

END DECODE_BASE64;
/

--图片转BASE64
CREATE OR REPLACE FUNCTION ENCODE_BASE64(P_BLOB IN BLOB)
RETURN CLOB
IS
L_CLOB CLOB;
L_STEP PLS_INTEGER := 12000;
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;
/

oracle BLOG图片和CLOG base64码的转换的更多相关文章

  1. JS将本地图片转化成base64码

    在图片上传的时候,有时候后台需要前台上传base64文件,这时候我们就需要将图片资源转化成base64,下面这段js代码就可实现此功能. 1.首先在html里定义一个input输入框: BASE64图 ...

  2. C#中图片与BASE64码互相转换

    //保存目录 string dir = "/upload/user/head"; //站点文件目录 string fileDir = HttpContext.Current.Ser ...

  3. LODOP直接用base64码输出图片

    Lodop中的ADD_PRINT_IMAGE,也可以直接输出base64码图片,不用加img标签,如果加了img标签,会被当做超文本对待,受浏览器引擎解析的影响. 什么时候使用base64码直接输出比 ...

  4. JS将图片转换成Base64码

    直接上代码 html页面代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  5. 前端以BASE64码的形式上传图片

    前端以BASE64码的形式上传图片 一直有一个很苦恼的问题困扰着铁柱兄,每次上传图片的时候前端要写一大堆js,然后后台也要写一堆java代码做处理.于是就在想,有没有简单又方便的方法把图片上传.今天算 ...

  6. node 把前台传来的base64码转成图片存放

    最近做个人网站头像修改用到了,在做头像修改,先做了一个图片切割,只需要上传你选中部分, 如图 这种需求 应该还是会遇到的, http://pan.baidu.com/s/1boVkn1t 这是裁剪图片 ...

  7. base64码通过http传输 +号变 空格 以及 图片编码后字符串较长导致POST提交失败 问题解决

    场景:图片上传OSS存储,接口拿字符串去接前端传的base64码,服务器打印入参传的值,发现和前端打印的值有所区别,服务器中打印的值所有+号全部变成空格. 解决办法: Java中使用:url = ur ...

  8. 使用java将base64码与图片互转!

    本篇文章主要介绍了java 后台将base64字符串保存为图片的方法,现在分享给大家,也给大家做个参考. import java.io.FileInputStream; import java.io. ...

  9. 图片预览(base64和blob:图片链接)和ajax上传、下载(带进度提示)

    直接上代码 html和js <!DOCTYPE html> <html> <head> <meta name="viewport" con ...

随机推荐

  1. Netty从入门到精通到放弃

    有时间想记录一下关于Netty的知识. 第一课:传统IO的特点. package com.example.aimei.controller; import java.io.InputStream; i ...

  2. cookie和session的区别及在Django中应用

    Django中Cookie和session应用 什么是cookie? cookie是客户端浏览器上的一个文件,以键值对进行保存,类似于字典的 {'key' : 'value'} ,与服务器端没有关系, ...

  3. Android:得到WebView当前页的html源码

    WebView没有提供直接的API,需要用JavaScript变通处理一下.本文试图总结一个最简单.优雅的代码. 有两步: 1.先创建一个JavaScript接口类: class MyJavaScri ...

  4. wget -r -c -nd

    wget -r -c -nd -r 递归下载 -c 断点续传 -nd 不创建目录, wget默认会创建一个目录 -l1 (L one) 递归一层,只下载指定文件夹中的内容, 不下载下一级目录中的.–n ...

  5. Mysql JSON字段提取某一个属性值的函数

    mysql从5.7开始才支持JSON_EXTRACT等 JSON相关的函数, 项目里用到的mysql是5.6的,需要提取JSON字段里某一个属性值进行统计, 自己写了一个笨的提取方法: CREATE ...

  6. WMS程序部署

    UI部署UI-20190107-landor-修改什么BUG.JAR162\163 APP部署 外部JSP部署 备份META这个SCHEMA

  7. python测试开发django-2.templates模板与html页

    前言 Django 中的视图的概念是一类具有相同功能和模板的网页的集合.通俗一点来说,就是你平常打开浏览器,看到浏览器窗口展示出来的页面内容,那就是视图.前面一章通过浏览器访问http://127.0 ...

  8. php的trie_filter扩展安装敏感词查找

    #编译libiconv ./configure make make install #编译libdatrie-0.2.11 ./configure LDFLAGS=-L/usr/local/lib L ...

  9. [Spring实战笔记]4面向切面编程的Spring-代理

    代理 代理(Proxy)是一种设计模式,可以在目标对象实现的基础上,扩展目标对象的功能. 代理对象是对目标对象的扩展,并会调用目标对象. 三种代理模式 静态代理 100% 代理对象与目标对象要实现相同 ...

  10. 使用CSV控件方法实现参数化

    一.录制脚本 二.下面介绍如何使用CSV控件方法实现参数化 1.  添加-->配置元件-->csv Data Set Config Filename:文件的来源 Variable Name ...