Kettle 中将图片url转换为Base64

ops/2025/1/16 7:42:06/

背景

我遇到了一个应用场景需要将订阅kafka数据中的一个字段(图片url)转换为base64 然后进行下一步操作。

实现方式

我这边的实现方式是使用javaScript去实现的

图形化逻辑如下:

这一步就是实现url转换为base64

json input的步骤,我这边有一个参数img,这个参数就是图片的url,这个字段不是一定有值

实现的代码:

// 获取输入字段的值
var imgUrl = img;
var img = img;
var plateNumber = plateNumber;
var imgBase64 = '';// 检查 imgUrl 字段是否为空
if (imgUrl === null || imgUrl === undefined || imgUrl === "") {// 如果 imgUrl 字段为空,则添加常量字段imgBase64 = "";
} else {// 如果 imgUrl 字段不为空,则将 URL 转换为 Base64var url = new java.net.URL(imgUrl);var connection = url.openConnection();var inputStream = connection.getInputStream();var bytes = org.apache.commons.io.IOUtils.toByteArray(inputStream);imgBase64 = org.apache.commons.codec.binary.Base64.encodeBase64String(bytes);
}// 将 imgBase64 设置到输出字段
imgBase64;
img;
plateNumber;

当img不为null

1、

2、

3、

当img为null

我们可以看到previewData

1、

2、

然后我们就可以进行下一步

比如我这边是添加一个常量,我们在previewData就可以看到处理好的数据


http://www.ppmy.cn/ops/27487.html

相关文章

Java IO流篇:File类、IO流原理及流的分类、节点流、缓冲流、数据流、字符流、对象流、对象序列化、转换流。

一、File类的使用 1.1 File类 File对象,是Java中为了操作操作系统中文件而设计的 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 File类Java提供的一个操作文件及文件夹的类。 File 能新建、删除、重命名文件和目录&#…

[Java、Android面试]_24_Compose为什么绘制要比XML快?(高频问答)

欢迎查看合集: Java、Android面试高频系列文章合集 本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。 整理成了面试系列,由于时间有限,每天整理一点&am…

如何在TestNG中恢复失败的测试用例?

有时,案例失败,不是因为应用程序错误,而是因为意外事件,如浏览器问题,网络滞后等,现在,我们可能需要重新验证失败的案例,看看这些意外事件是否仍然存在。TestNG为我们提供了一些方法…

云备份项目->配置环境

升级gcc到7.3版本 sudo yum install centos-release-scl-rh centos-release-scl sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c source /opt/rh/devtoolset-7/enable echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc 安装Jsoncpp库 sud…

贪心算法-活动选择问题背包问题

目录 活动选择问题 无重叠区间-Leetcode 435 分数背包问题--贪心解法 贪心法 0-1 背包问题 贪心法 贪心算法的局限 Set cover problem 活动选择问题 分析: /* 要在一个会议室举办n个活动 - 每个活动有它们各自的起始和结束时间 - 找出在时间上互不冲突的活动组合,能…

【JVM】从i++到JVM栈帧

【JVM】从i到JVM栈帧 本篇博客将用两个代码例子,简单认识一下JVM与栈帧结构以及其作用 从i与i说起 先不急着看i和i,我们来看看JVM虚拟机(请看VCR.JPG) 我们初学JAVA的时候一定都听到过JAVA“跨平台”的特性,也就是…

cnpm安装

npm install -g cnpm --registryhttps://registry.npmmirror.com # 注册模块镜像 npm set registry https://registry.npmmirror.com // node-gyp 编译依赖的 node 源码镜像 npm set disturl https://npmmirror.com/dist // 清空缓存 npm cache clean --force // 安装c…

算法应用实例:最大子列和问题

给定N个整数的序列{A1,A2,……AN},求函数的最大值。 分析:求该序列中最大的连续子列和,若函数最后为负数,返回0作为程序结束。 1.算法1 /*命名为MaxSubseqSum1,A[]:输入整数序列,N:整数序列里面…